Cómo instalar el servidor Samba en CentOS 8

Samba es un software gratuito y de código abierto que se puede utilizar para compartir archivos, carpetas e impresoras entre sistemas Linux y Windows. También se utiliza para autenticación y autorización, resolución de nombres y anuncio de servicio. Se puede ejecutar en diferentes sistemas operativos, incluidos Linux, Unix, OpenVMS y muchos más.
En este tutorial, aprenderemos cómo instalar Samba y configurarlo como un servidor compartido independiente en CentOS 8.
requisitos previos
- Un servidor que ejecuta CentOS 8.
- Una contraseña de root está configurada en su servidor.
Instalar servidor Samba
De forma predeterminada, el paquete Samba está disponible en el repositorio predeterminado de CentOS. Puedes instalarlo con el siguiente comando:
dnf install samba samba-common samba-client -y
Después de instalar Samba, inicie el servicio SMB y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start smb systemctl enable smb
Ahora puede verificar el servicio Samba con el siguiente comando:
systemctl status smb
Deberías obtener el siguiente resultado:
? smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 2072 (smbd) Status: "smbd: ready to serve connections..." Tasks: 4 (limit: 25028) Memory: 33.8M CGroup: /system.slice/smb.service ??2072 /usr/sbin/smbd --foreground --no-process-group ??2074 /usr/sbin/smbd --foreground --no-process-group ??2075 /usr/sbin/smbd --foreground --no-process-group ??2076 /usr/sbin/smbd --foreground --no-process-group
Crear un recurso compartido público con Samba
En esta sección, crearemos un recurso compartido público con Samba para que todos puedan acceder al directorio compartido público sin contraseña.
Crear un directorio compartido público
Primero, cree una carpeta compartida llamada public y también cree dos archivos dentro del directorio public:
mkdir -p /samba/share/public touch /samba/share/public/file1.txt touch /samba/share/public/file2.txt
A continuación, asigne los permisos y la propiedad necesarios con el siguiente comando:
chmod -R 0755 /samba/share/ chmod -R 0755 /samba/share/public chown -R nobody:nobody /samba/share chown -R nobody:nobody /samba/share/public
Configurar Samba
A continuación, deberá configurar Samba para compartir un directorio público.
Primero, cree una copia de seguridad del archivo /etc/samba/smb.conf con el siguiente comando:
mv /etc/samba/smb.conf /etc/samba/smb.bak
A continuación, cree un nuevo archivo de configuración de Samba:
nano /etc/samba/smb.conf
Agregue las siguientes líneas:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = samba-server security = user map to guest = bad user dns proxy = no [Public] path = /samba/share/public browsable =yes writable = yes guest ok = yes read only = no
Guarde y cierre el archivo. Luego, reinicie el servicio Samba para aplicar los cambios:
systemctl restart smb
A continuación, pruebe la configuración de Samba con el siguiente comando:
testparm
Debería ver el siguiente resultado:
Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] dns proxy = No map to guest = Bad User netbios name = SAMBA-SERVER security = USER server string = Samba Server %v idmap config * : backend = tdb [Public] guest ok = Yes path = /samba/share/public read only = No
Configurar SELinux y Firewall
A continuación, establezca los valores de contexto de seguridad y booleanos de SELinux adecuados en el directorio compartido con el siguiente comando:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1 semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?" restorecon /samba/share/public
A continuación, todo el servicio de Samba a través de firewalld con el siguiente comando:
firewall-cmd --add-service=samba --zone=public --permanent firewall-cmd --reload
Acceda a Samba Share desde Ubuntu Gnome
Para acceder al recurso compartido de Samba, vaya a la máquina remota, abra el administrador de archivos Gnome y haga clic en el Conectar a Servidor Como se muestra abajo:
Proporcione la dirección IP de su servidor Samba y haga clic en el Conectar botón. Después de una conexión exitosa, debería ver el recurso compartido de Samba en la siguiente pantalla:
Ahora, haga clic en el Público directorio, debería ver sus archivos en la siguiente pantalla:
Acceda a Samba Share desde la línea de comandos de Ubuntu
También puede acceder al recurso compartido de Samba desde la línea de comandos.
Primero, enumere todos los recursos compartidos de Samba disponibles con el siguiente comando:
smbclient -L //45.58.38.51
Debería ver el siguiente resultado:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk IPC$ IPC IPC Service (Samba Server 4.10.4) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
También puede montar el recurso compartido de Samba usando el protocolo cifs. Para hacerlo, instale el paquete cifs-utils con el siguiente comando:
apt-get install cifs-utils -y
A continuación, monte el recurso compartido de Samba en el directorio /mnt con el siguiente comando:
mount -t cifs //45.58.38.51/public /mnt/
Se le pedirá que proporcione la contraseña como se muestra a continuación:
Password for [email protected]//45.58.38.51/public:
Solo presiona el Ingresar sin ingresar ninguna contraseña para montar el recurso compartido de Samba:
Ahora puede acceder al recurso compartido de Samba en el directorio /mnt:
ls /mnt/
Debería ver el siguiente resultado:
file1.txt file2.txt
Crear Compartir Privado con Samba
En esta sección, crearemos un recurso compartido privado con Samba para que solo el usuario autenticado pueda acceder al directorio compartido privado.
Crear usuario y grupo
Primero, crea un grupo llamado privado con el siguiente comando:
groupadd private
A continuación, cree un nuevo usuario llamado privateuser y agréguelo al grupo privado:
useradd -g private privateuser
A continuación, establezca la contraseña para el usuario con el siguiente comando:
smbpasswd -a privateuser
Producción:
New SMB password: Retype new SMB password: Added user privateuser.
Crear un directorio compartido privado
A continuación, cree una carpeta compartida llamada privada y también cree dos archivos dentro del directorio privado:
mkdir -p /samba/share/private touch /samba/share/private/private1.txt touch /samba/share/private/private2.txt
A continuación, asigne el permiso y la propiedad adecuados con el siguiente comando:
chmod -R 0770 /samba/share/private chown -R root:private /samba/share/private
A continuación, configure el contexto de SELinux para el directorio privado con el siguiente comando:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?" restorecon /samba/share/private
Configurar Samba
A continuación, abra el archivo de configuración de Samba y defina el recurso compartido privado:
nano /etc/samba/smb.conf
Agregue las siguientes líneas al final del archivo:
[Private] path = /samba/share/private valid users = @private guest ok = no writable = yes browsable = yes
Guarde y cierre el archivo, luego reinicie el servicio Samba para aplicar los cambios:
systemctl restart smb
A continuación, verifique la configuración de Samba con el siguiente comando:
testparm
Debería ver el siguiente resultado:
Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] dns proxy = No map to guest = Bad User netbios name = SAMBA-SERVER security = USER server string = Samba Server %v idmap config * : backend = tdb [Public] guest ok = Yes path = /samba/share/public read only = No [Private] path = /samba/share/private read only = No valid users = @private
Acceda a Samba Share desde la línea de comandos de Ubuntu
Primero, acceda al recurso compartido disponible con el siguiente comando:
smbclient -L //45.58.38.51
Debería ver el siguiente resultado:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk Private Disk IPC$ IPC IPC Service (Samba Server 4.10.4) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
A continuación, conéctese al servidor Samba y enumere el recurso compartido disponible con el siguiente comando:
smbclient //45.58.38.51/private -U privateuser
Se le pedirá que proporcione una contraseña como se muestra a continuación:
Enter privateuser's password:
Escriba su contraseña y presione Entrar para acceder al shell de Samba como se muestra a continuación:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] smb: \>
Ahora, enumere el recurso compartido disponible con el siguiente comando:
smb: \> ls
Debería ver el siguiente resultado:
. D 0 Tue Mar 3 10:03:22 2020 .. D 0 Tue Mar 3 10:01:56 2020 private1.txt N 0 Tue Mar 3 10:03:17 2020 private2.txt N 0 Tue Mar 3 10:03:22 2020 51194 blocks of size 2097152. 49358 blocks available
Ahora, salga del shell de Samba con el siguiente comando:
smb: \>exit
También puede montar el recurso compartido de Samba en el directorio /opt:
mount -t cifs -o user=privateuser //45.58.38.51/private /opt
Se le pedirá que proporcione una contraseña como se muestra a continuación:
Password for [email protected]//45.58.38.51/private: *********
Proporcione su contraseña y presione Entrar para montar el recurso compartido de Samba.
Ahora puede verificar su recurso compartido de Samba en el directorio /opt como se muestra a continuación:
ls /opt/
Producción:
private1.txt private2.txt
Acceda a Samba Share desde Ubuntu Gnome
Para acceder al recurso compartido de Samba, vaya a la máquina remota, abra el administrador de archivos Gnome y haga clic en el Conectar a Servidor Como se muestra abajo:
Proporcione la dirección IP de su servidor Samba y haga clic en el Conectar botón. Después de una conexión exitosa, debería ver el recurso compartido de Samba en la siguiente pantalla:
Ahora, haga clic en el Privado directorio, proporcione su nombre de usuario y contraseña, luego haga clic en el botón Conectar. Deberías ver tus archivos en la siguiente pantalla:
¡Felicidades! Ha instalado y configurado con éxito el servidor Samba en CentOS 8.