Samba es un software gratuito / de código abierto y de uso popular para compartir archivos y servicios de impresión entre sistemas similares a Unix, incluidos hosts Linux y Windows en la misma red.
En esta guía, mostraremos cómo configurar Samba4 para compartir archivos básicos entre sistemas Ubuntu y máquinas Windows. Vamos a cubrir dos escenarios posibles: Anónimo (no segura) , así como el intercambio de archivos de forma segura .
Lectura sugerida: Cómo instalar Samba4 en CentOS / RHEL 7 para compartir archivos en Windows
Tenga en cuenta que a partir de la versión 4.0, Samba se puede utilizar como controlador de dominio (DC) de Active Directory (AD). Hemos organizado una serie especial para configurar Samba4 Active Directory Domain Controller, que comprende temas clave en Ubuntu, CentOS y Windows.
- Configuración del controlador de dominio de Active Directory Samba4
Instalar y configurar Samba en Ubuntu
El servidor Samba está disponible para instalar desde los repositorios predeterminados de Ubuntu usando la herramienta de administrador de paquetes apt como se muestra.
$ sudo apt install samba samba-common python-dnspython
Una vez instalado el servidor samba, ahora es el momento de configurar el servidor samba como: <strong>intercambio de archivos seguro, </strong>anónimo y no seguro .
Para esto, necesitamos editar el archivo de configuración principal de Samba /etc/samba/smb.conf (que explica varias directivas de configuración).
Primero haga una copia de seguridad del archivo de configuración de samba original de la siguiente manera.
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
Luego, procederemos a configurar samba para servicios de <strong>intercambio de archivos </strong>anónimos y seguros como se explica a continuación.
Importante : antes de continuar, asegúrese de que la máquina con Windows esté en el mismo grupo de trabajo que se configurará en el servidor de Ubuntu.
Compruebe la configuración del grupo de trabajo de la máquina de Windows
Inicie sesión en su máquina con Windows, haga clic derecho en “ Esta PC ” o “ Mi PC ” → Propiedades → Configuración avanzada del sistema → Nombre de la computadora para verificar el grupo de trabajo.
Compruebe el grupo de trabajo de Windows
Alternativamente, abra el símbolo del sistema y visualícelo ejecutando el siguiente comando y busque ” dominio de la estación de trabajo “.
>net config workstation
Verificar el grupo de trabajo de Windows
Una vez que conozca su grupo de trabajo de Windows, es hora de avanzar y configurar el servidor samba para compartir archivos.
Uso compartido anónimo de archivos de Samba
Primero comience creando un directorio samba compartido donde se almacenarán los archivos.
$ sudo mkdir -p /srv/samba/anonymous_shares
Luego, establezca los permisos adecuados en el directorio.
$ sudo chmod -R 0775 /srv/samba/anonymous_shares $ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares
Ahora abra el archivo de configuración.
$ sudo vi /etc/samba/smb.conf OR $ sudo nano /etc/samba/smb.conf
A continuación, edite o modifique la configuración de la directiva como se describe a continuación.
global] workgroup = WORKGROUP netbios name = ubuntu security = user [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares browsable =yes writable = yes guest ok = yes read only = no force user = nobody
Ahora verifique la configuración actual de samba ejecutando el siguiente comando.
$ testparm
Ajustes de configuración actual de Samba
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) WARNING: The "syslog" option is deprecated Processing section "[printers]" Processing section "[print$]" Processing section "[Shares]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] netbios name = UBUNTU server string = %h server (Samba, Ubuntu) server role = standalone server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = No [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares force user = nobody read only = No guest ok = Yes
Luego reinicie los servicios de Samba para efectuar los cambios anteriores.
$ sudo systemctl restart smbd [Systemd] $ sudo service smbd restart [Sys V]
Prueba de uso compartido de archivos Samba anónimo
Vaya a la máquina con Windows y abra ” Red ” desde una ventana del Explorador de Windows . Haga clic en el host de Ubuntu ( TECMINT para nuestro caso), o intente acceder al servidor de samba usando su dirección IP.
2.168.43.168
Nota : Utilice el comando ifconfig para obtener la dirección IP de su servidor Ubuntu.
Conéctese a Samba Share
Luego abra el directorio Anónimo e intente agregar archivos allí para compartir con otros usuarios.
Agregar archivos a Samba Share
Uso compartido seguro de archivos Samba
Para proteger con contraseña un recurso compartido de samba, debe crear un grupo “smbgrp” y establecer una contraseña para cada usuario. En este ejemplo utilizo aaronkilik como usuario y contraseña como ” tecmint “.
$ sudo addgroup smbgrp $ sudo usermod aaronkilik -aG smbgrp $ sudo smbpasswd -a aaronkilik
Nota : El modo de seguridad de samba: security = user requiere que los clientes ingresen un nombre de usuario y contraseña para conectarse a los recursos compartidos.
Las cuentas de usuario de Samba están separadas de las cuentas del sistema, sin embargo, opcionalmente puede instalar el paquete libpam-winbind que se usa para sincronizar los usuarios del sistema y las contraseñas con la base de datos de usuarios de Samba.
$ sudo apt install libpam-winbind
Luego cree el directorio seguro donde se guardarán los archivos compartidos.
$ sudo mkdir -p /srv/samba/secure_shares
A continuación, establezca los permisos adecuados en el directorio.
$ sudo chmod -R 0770 /srv/samba/secure_shares $ sudo chown -R root:smbgrp /srv/samba/secure_shares
Ahora abra el archivo de configuración.
$ sudo vi /etc/samba/smb.conf OR $ sudo nano /etc/samba/smb.conf
A continuación, edite o modifique la configuración de la directiva como se describe a continuación.
[Secure] comment = Secure File Server Share path = /srv/samba/secure_shares valid users = @smbgrp guest ok = no writable = yes browsable = yes
Al igual que antes, ejecute este comando para ver su configuración actual de samba.
$ testparm
Ajustes de configuración actual de Samba
Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) WARNING: The "syslog" option is deprecated Processing section "[printers]" Processing section "[print$]" Processing section "[Shares]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] netbios name = UBUNTU server string = %h server (Samba, Ubuntu) server role = standalone server map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd program = /usr/bin/passwd %u passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* . unix password sync = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 dns proxy = No usershare allow guests = Yes panic action = /usr/share/samba/panic-action %d idmap config * : backend = tdb [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = No [Anonymous] comment = Anonymous File Server Share path = /srv/samba/anonymous_shares force user = nobody read only = No guest ok = Yes [Secure] comment = Secure File Server Share path = /srv/samba/secure_shares valid users = @smbgrp read only = No
Una vez que haya terminado con las configuraciones anteriores, reinicie los servicios de Samba para aplicar los cambios.
$ sudo systemctl restart smbd [Systemd] $ sudo service smbd restart [Sys V]
Prueba del uso compartido seguro de archivos de Samba
Como antes, en la máquina con Windows y abra ” Red ” desde una ventana del Explorador de Windows . Haga clic en el host de Ubuntu ( TECMINT para nuestro caso). Es posible que obtenga el siguiente error, si no, continúe con el siguiente paso.
Conéctese a Secure Samba Share
Intente acceder al servidor utilizando su dirección IP, por ejemplo, \192.168.43.168
así. Luego ingrese las credenciales (nombre de usuario y contraseña) para el usuario aaronkilik y haga clic en <strong>Aceptar</strong> .
Inicio de sesión de usuario de Samba Share
Ahora verá todos los directorios compartidos, haga clic en Seguro para abrirlo.
Samba Secure Share
Puede compartir de forma segura algunos archivos con otros usuarios permitidos en la red colocándolos en este directorio.
Agregar archivos en Samba Share
Habilitar Samba en UFW Firewall en Ubuntu
Si tiene un firewall UFW habilitado / activo en su sistema, debe agregar las reglas para permitir que Samba pase a través de su firewall.
Para probar esto, usamos el esquema de red 192.168.43.0 . Ejecute los siguientes comandos especificando su dirección de red.
$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24 $ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24 $ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24 $ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24
También puede consultar estos artículos útiles sobre el intercambio de archivos Samba en una red.
- Configuración del controlador de dominio de Active Directory Samba4: parte 1 a 14
- Cómo montar / desmontar sistemas de archivos locales y de red (Samba y NFS) en Linux
- Uso de ACL (listas de control de acceso) y montaje de recursos compartidos de Samba / NFS
- Cómo reparar la vulnerabilidad de SambaCry (CVE-2017-7494) en sistemas Linux
¡Eso es todo! En esta guía, le mostramos cómo configurar Samba4 para compartir archivos de forma anónima y segura entre máquinas Ubuntu y Windows. Utilice el formulario de comentarios a continuación para compartir sus pensamientos con nosotros.
Samba