Cómo instalar Samba en Ubuntu para compartir archivos en Windows

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.

  1. 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: &ltstrong&gtintercambio de archivos seguro, &lt/strong&gtanó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 &ltstrong&gtintercambio de archivos &lt/strong&gtanó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 WindowsCompruebe 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 WindowsVerificar 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 ShareConéctese a Samba Share

Luego abra el directorio Anónimo e intente agregar archivos allí para compartir con otros usuarios.

Agregar archivos a Samba ShareAgregar 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 ShareConéctese a Secure Samba Share

Intente acceder al servidor utilizando su dirección IP, por ejemplo, \192.168.43.168así. Luego ingrese las credenciales (nombre de usuario y contraseña) para el usuario aaronkilik y haga clic en &ltstrong&gtAceptar&lt/strong&gt .

Inicio de sesión de usuario de Samba ShareInicio de sesión de usuario de Samba Share

Ahora verá todos los directorios compartidos, haga clic en Seguro para abrirlo.

Samba Secure ShareSamba 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 ShareAgregar 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.

  1. Configuración del controlador de dominio de Active Directory Samba4: parte 1 a 14
  2. Cómo montar / desmontar sistemas de archivos locales y de red (Samba y NFS) en Linux
  3. Uso de ACL (listas de control de acceso) y montaje de recursos compartidos de Samba / NFS
  4. 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

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux