Esta breve guía explica cómo instalar y configurar Samba en CentOS 7 para compartir un directorio con acceso público (sin usuario y contraseña).



En el artículo Cómo configurar Samba en Red Hat/CentOS expliqué detalladamente cómo crear y administrar usuarios de Samba para autenticar y autorizar el acceso a los shares. Pero, ¿qué pasa si necesitamos compartir un directorio y permitir el acceso anónimo (sin necesidad de autenticar al usuario)?. Anteriormente se podía utilizar el nivel de seguridad "share", pero ahora está obsoleto, y además no permitía tener una mezcla de niveles de seguridad. En las versiones actuales, es necesario configurar el usuario "guest", para permitir el acceso público o anónimo.

Samba es una suite de software libre/open source que provee servicios de acceso a archivos e impresoras para clientes SMB/CIFS. Esta herramienta proporciona interoperabilidad entre servidores GNU/linux y clientes Windows. El uso más común de Samba es para crear directorios de acceso remoto (conocidos como shares en la jerga Windows) y compartir impresoras.

Para instalar Samba en CentOS 7 ejecutar:

# 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 = fileserver01
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 ("fileserver01" 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
browsable = 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

Finalmente es posible verificar el acceso mediante el nombre NetBIOS (\\fileserver01) desde un host Windows en la red local:


Tal vez pueda interesarte


Compartí este artículo