Directorio de artículos
- 0-1 Entorno experimental
- 0-2 archivos compartidos de Windows y Linux
- 1. Introducción al servicio de samba
- 2. Información básica de Samba
- 3. Instalación y activación de samba
- 4. Establecimiento de un usuario de samba
- 5. directorio de inicio de acceso de usuarios de samba
- 6. directorio compartido del servicio samba
- 7. parámetros de configuración comunes de samba
-
- 7.1 Todos los usuarios pueden escribir
- 7.2 Puede ser escrito por usuarios designados
- 7.3 El grupo especificado se puede escribir
- 7.4 Usuario de acceso designado
- 7.5 Especificar grupo de acceso
- 7.6 Si ocultar el uso compartido
- 7.7 Permitir el acceso de usuarios anónimos
- 7.8 Acceso al host designado (lista blanca)
- 7.9 Acceso de host designado (lista negra)
- 8. Montaje y desmontaje automático de Samba + autofs
- 9. Montaje multiusuario Samba (cifs)
0-1 Entorno experimental
- Lado del servidor: nodo1 ===> 192.168.43.101
- Cliente: nodo2 ===> 192.168.43.111
0-2 archivos compartidos de Windows y Linux
- IP de host de Windows: 192.168.43.1
- Nueva carpeta westos
- Abrir las propiedades del archivo ===> Compartir ===> Compartir de forma avanzada ===> Carpeta compartida ===> Establecer el nombre del recurso compartido
- Atributos de archivo ===> Compartir ===> Flecha ===> Seleccionar todos ===> Agregar ===> Compartir ===> Finalizar
- Cliente Linux: host node2
smbclient -L //192.168.43.1/共享名称 -U administrator
1. Introducción al servicio de samba
Samba es un método de implementación de SMB, que se utiliza principalmente para implementar servicios de archivos e impresión del sistema Linux. Los usuarios de Linux pueden compartir recursos con los usuarios de Windows configurando y utilizando el servidor Samba.
Samba es un software de código abierto basado en el protocolo SMB (ServerMessage Block). Samba también puede ser una marca comercial del protocolo SMB. SMB es un protocolo que se puede utilizar para compartir recursos como archivos e impresoras en sistemas Linux y UNIX. Este protocolo se basa en un protocolo Cliente \ Servidor. El cliente puede acceder a los recursos compartidos en el Servidor a través de SMB. Cuando Windows es el cliente y CentOS es el servidor, Samba se puede utilizar para acceder a los recursos de Linux a través de Samba y realizar la interacción de datos entre los dos sistemas.
Samba es un software que se ejecuta en unix / linux. Se divide en lado del servidor y lado del cliente, y realiza las funciones descritas por el protocolo cifs. Para windows y unix / linux, vea compartir archivos
cifs: protocolo de intercambio de archivos en Windows, su predecesor es el protocolo SMB
2. Información básica de Samba
-
Script de inicio del servicio
servicio a alguien -
Directorio de configuración principal
/ etc / samba -
Archivo de configuración principal
/etc/samba/smb.conf -
Contexto de seguridad
samba_share_t -
Puerto 139、445
-
Paquete de instalación
samba:
samba-común: Kit de herramientas
cliente de samba: Cliente
3. Instalación y activación de samba
dnf search samba
: Encontrardnf install samba -y
: Instalación del lado del
dnf install samba-common -y
servidor: Deben estar instalados tanto el servidor como el cliente
dnf install samba-client -y
: Instalación del lado del clientesystemctl enable --now smb.service
: Inicia el servicio de samba- Habilite samba cuando el firewall esté abierto ::
firewall-cmd --permanent --add-service=samba
Abra permanentemente samba en el firewall
firewall-cmd --reload
: actualice el firewall para que la configuración surta efecto
- prueba:
smbclient -L //192.168.43.101
: Enumera los archivos compartidos proporcionados por la IP especificada
(Presione Enter directamente cuando necesite ingresar la contraseña de root)
4. Establecimiento de un usuario de samba
El usuario de samba debe ser un usuario local
smbpasswd -a 用户名
: Agregar usuario de sambapdbedit -L
: Ver la lista de usuarios de sambapdbedit -x 用户名
: Eliminar usuario de samba
5. directorio de inicio de acceso de usuarios de samba
setsebool -P samba_enable_home_dirs on
- Acceso bajo Windows
Windows + R ===> Enter \\192.168.43.101
ejecutar
- Acceso bajo Linux
smbclient -L //IP/共享名称 -U 用户名
: Enumera los archivos compartidos proporcionados por la IP especificada
6. directorio compartido del servicio samba
6.1 Compartir directorios autoconstruidos
mkdir /westosdir
: Crea un directorio compartidotouch /westosdir/file1
: Crea un archivosemanage fcontext -a -t samba_share_t ‘/westosdir(/.*)?’
: Modifica el contexto de seguridad de Selinux del directorio compartidorestorecon -RvvF /westosdir
: Actualizarcp /etc/samba/smb.conf.example /etc/samba/smb.conf
: Copiar archivo de plantillavim /etc/samba/smb.conf
: Agregar un directorio compartido
[LEE] #共享名称
comment = westos dir #共享说明
path = /westosdir #共享路径
systemctl restart smb.service
: Reiniciar servicio
- Acceda a archivos compartidos en el cliente:
smbclient //共享文件主机IP/共享名 -U samba用户名
: Enumera los archivos compartidos proporcionados por la IP especificadamount -o username=samba用户名,password=密码 //共享文件主机IP/共享名 挂载目录
: Monta el sistema de archivos
6.2 Directorio de sistema compartido (no puede modificar directamente el contexto de seguridad)
vim /etc/samba/smb.conf
: Modifica el directorio compartido al directorio del sistema
[LEE] #共享名称
comment = westos dir #共享说明
path = /mnt #共享路径
setsebool -P samba_export_all_ro on
: Modifica el valor bool (permite compartir lecturas)getsebool -a | grep samba
: Consulta el valor bool de Sambasystemctl restart smb.service
: Reiniciar servicio
- Acceda a archivos compartidos en el cliente:
smbclient //共享文件主机IP/共享名 -U samba用户名
: Enumera los archivos compartidos proporcionados por la IP especificada
- Restaurar la configuración del lado del servidor
7. parámetros de configuración comunes de samba
- Terminal de servicio:
chmod 777 共享目录
: Modificar los permisos del directorio compartidovim /etc/samba/smb.conf
: Agregar o modificar parámetrossystemctl restart smb.service
: Reiniciar servicio
- Prueba de cliente:
mount -o username=sdsnzy1,password=sdsnzy1 //192.168.43.101/LEE /mnt/
7.1 Todos los usuarios pueden escribir
escribible = sí
- ¡No se pudo crear un archivo después de que se montó el cliente!
- Modifique los permisos y los archivos de configuración en el lado del servidor, reinicie el servicio
- Prueba del cliente: ¡vuelva a montar y escriba!
7.2 Puede ser escrito por usuarios designados
lista de escritura = usuarios
- ¡Modifique el archivo de configuración en el lado del servidor y reinicie el servicio!
- Prueba de remontaje del cliente:
7.3 El grupo especificado se puede escribir
lista de escritura = @User o + Usuario
- ¡Modifique el archivo de configuración en el lado del servidor y reinicie el servicio! (Agregue sdsnzy1 como un grupo adicional de sdsnzy2, restaure después de que se complete el experimento)
- Prueba de remontaje del cliente:
7.4 Usuario de acceso designado
usuarios válidos = usuarios
- ¡Modifique el archivo de configuración en el lado del servidor y reinicie el servicio!
- Prueba de remontaje del cliente:
7.5 Especificar grupo de acceso
usuarios válidos = @User o + Usuario
- ¡Modifique el archivo de configuración en el lado del servidor y reinicie el servicio! (Agregue sdsnzy1 como un grupo adicional de sdsnzy2, restaure después de que se complete el experimento)
- Prueba de remontaje del cliente:
7.6 Si ocultar el uso compartido
navegable = no: No mostrar compartir
navegable = sí: Mostrar compartir (predeterminado)
- Cuando la configuración del lado del servidor no muestra el uso compartido, reinicie el servicio y la prueba del lado del cliente:
- Cuando la configuración del lado del servidor muestra el uso compartido, reinicie el servicio y la prueba del lado del cliente:
7.7 Permitir el acceso de usuarios anónimos
mapear a invitado = mal usuario : Configuración global (agregar en [gloabl])
invitado ok = si: Establecer en el nombre del recurso compartido
- ¡Modifique el archivo de configuración en el lado del servidor y reinicie el servicio!
- Prueba de montaje anónimo del cliente:
mount -o username=guest //192.168.43.101/LEE /mnt
: Montaje anónimo
7.8 Acceso al host designado (lista blanca)
hosts permiten = 192.168.43.111: Solo el host puede acceder (varias IP de host están separadas por espacios)
los hosts permiten = 192.168.43.: Solo los hosts de este segmento de red pueden acceder (por ejemplo, 192.168.43.38; 192.168.43.183 ... etc.)
7.9 Acceso de host designado (lista negra)
hosts deny = 192.168.43.111: Solo el host tiene prohibido el acceso (varias IP de host están separadas por espacios)
los hosts permiten = 192.168.43.: Prohibir el acceso a hosts en este segmento de red.
8. Montaje y desmontaje automático de Samba + autofs
autofs: software que realiza el montaje y la descarga automáticos sobre el cliente;
Mount se utiliza para montar el sistema de archivos y se puede montar cuando se inicia el sistema o después de que se inicia. Para dispositivos fijos locales, como discos duros, puede usar montar para montar; mientras que los sistemas de archivos como CD, disquetes, NFS y SMB son dinámicos, es decir, solo es necesario montarlos cuando sea necesario. Las unidades ópticas y los disquetes generalmente se conocen cuando deben montarse, pero los recursos compartidos NFS y SMB no se conocen necesariamente, es decir, generalmente no podemos saber a tiempo cuándo se pueden montar los recursos compartidos NFS y SMB. El servicio autofs proporciona esta función, como la función de apertura automática de la unidad óptica en Windows, que puede montar un sistema de archivos cargado dinámicamente a tiempo. Elimina el problema del montaje manual. Para realizar el montaje automático dinámico de CD-ROM, disquete, etc., se requiere la configuración correspondiente.
8.1 Instalación del cliente Autofs
dnf install autofs -y
8.2 Configuración del cliente
vim /etc/auto.master
: Edita el archivo de configuración
/mnt /etc/auto.samba
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.samba
: Edita el archivo de subpolítica definido automáticamente
samba -fstype=cifs,username=用户,password=密码 ://服务器端主机IP/共享目录
最终挂载点 挂载参数 挂载资源
vim /etc/autofs.conf
: Modifica el tiempo de desinstalación predeterminado
timeout = 3 #自动卸载时间默认为300秒
systemctl restart autofs.service
: Reiniciar servicio
8.3 Prueba de cliente
cd /mnt/samba
: Ingrese el directorio del punto de montajedf
: Descubrió que se ha montado automáticamentecd
: Salga del directorio del punto de montaje, después de 3 s (esperando que el recurso esté inactivo durante el tiempo de espera, el recurso montado se desmonta automáticamente)df
: Después de 3 s, se encuentra que el montaje se canceló automáticamente
9. Montaje multiusuario Samba (cifs)
Si usa el método de montaje normal en el cliente, las personas que no han usado la autenticación de usuario también pueden acceder al servicio samba, que no es seguro.
Solo los usuarios autenticados pueden montar
9.1 Instalar la herramienta de autenticación samba en el cliente
dnf search cifs
:Preguntar
dnf install cifs-utils.x86_64 -y
:instalación
9.2 Configuración del cliente
vim /root/smbauth
: Cree y edite el archivo de contraseña de usuario de montaje (para evitar la entrada insegura de la contraseña en texto plano cada vez que monte)
username=sdsnzy1
password=sdsnzy1
vim /etc/auto.master
: Edita el archivo de configuración
/- /etc/auto.cifs
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.cifs
: Edita el archivo de subpolítica definido automáticamente
/samba -fstype=cifs,credentials=/root/smbauth,sec=ntlmssp,multiuser ://192.168.43.101/LEE
credentials=/root/smbauth #指定认证文件(第一步编辑好的密码文件)
sec=ntlmssp #指定认证类型
multiuser #支持多用户
systemctl restart autofs.service
: Reiniciar servicio
9.3 Autenticación del cliente
cifscreds add -u Samba用户 服务器端主机IP
: Agregar certificacióncifscreds clearall
: Borrar todos los usuarios autenticadoscifscreds clear -u Samba用户
: Borra el usuario autenticado especificadocifscreds update -u Samba用户
: Actualizar certificación
experimentar:
su - kiosk
: Cambiar a usuario normalls -l /mnt
: No se puede vercifscreds add -u sdsnzy1 192.168.43.101
: Agregar certificación- Puede ver y crear archivos
- Cambie a otros usuarios normales, no se puede ver ninguna autenticación, ¡muy seguro! ! !