Samba sobre Linux

PDF: usando-samba

Vamos a montar SAMBA sobre Linux (en este caso CentOS7) y compartir una carpeta pública de Linux para que podamos trabajar desde nuestra sistema Windows.

El concepto de SAMBA.

Se trata de un software libre (open source) que ofrece el servicio de compartir o dar acceso a archivos e impresoras para clientes SMB/CIFS

# yum install samba samba-client samba-common

Luego es necesario configurar el servicio. Editar el archivo /etc/samba/smb.conf:

# nano /etc/samba/smb.conf

Realizar los siguientes cambios.

Debajo de la sección “[global]” configurar el grupo de trabajo de la red (ej. “WORKGROUP”), el nivel de seguridad “user” y el mapeo al usuario “guest”:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = poner-el-nombre-que-sea
security = user
map to guest = bad user
dns proxy = no

Para evitar problemas se recomienda configurar el nombre NetBIOS de forma que coincida con el nombre de host del servidor (“poner-el-nombre-que-sea” en el ejemplo anterior).

Luego, a modo de ejemplo, si se desea compartir el directorio /data/public con acceso anónimo, agregar las siguientes líneas debajo de la sección de definición de shares (debajo de la línea #============================ Share Definitions ============================== o al final de archivo):

[public]
path = /data/public
browseable = yes
writable = yes
guest ok = yes
read only = no

La línea de configuración más importante es la que habilita el acceso anónimo: guest ok = yes. Si se desea que el acceso sea de sólo lectura, cambiar writable = yes por writable = no.

Al finalizar la edición, guardar los cambios.

Luego es necesario habilitar e iniciar los servicios de Samba:

# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl restart smb.service
# systemctl restart nmb.service

Y habilitar el acceso en el firewall:

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload

Creación de usuarios y carpetas para Samba:

sudo useradd pepe
sudo smbpasswd -a pepe

p@leto33, sería una buena contraseña.

Por último hay que desactivar el sistema de seguridad de Linux (Selinux)

nano /etc/selinux/config

y poner el parámetro SELINUX=enforcing a SELINUX=disabled

Ahora en windows podemos probar \\<ip-de-la-máquina>, nos deberá solicitar un usuario y una contraseña para que acceda a la carpeta que tenemos compartida.

Finalmente es posible verificar el acceso mediante el nombre NetBIOS (\\<el-nombre-que sea>) desde un host Windows en la red local.