lunes, 19 de enero de 2009

Linux: carpeta pública con SAMBA

La siguiente receta permite configurar una carpeta de acceso público sin necesidad de usar usuario y contraseña (que no será solicitada).


En principio es para la versión 3.0.28 de Samba que en CentOS 5.2 está constituida por los paquetes:
samba-common-3.0.28-1.el5_2.1
samba-client-3.0.28-1.el5_2.1
samba-3.0.28-1.el5_2.1


El siguiente es el contenido ejemplo de un fichero que permite que un recurso compartido llamado "publica" y localizado en "/home/publica" sea de acceso libre sin usuario y contraseña:
[global]
workgroup = WORKGROUP
server string = Samba Server
log file = /var/log/samba/%m.log
max log size = 0
security = share
usershare allow guests = yes
browseable = yes
[publica]

path = /home/publica
writeable = no
guest ok = yes



En este caso, además la carpeta es de sólo lectura. Como complemento a esta configuración es necesario que el fichero /etc/samba/smb.conf contenga un mapeo para el usuario "guest" a un usuario local con permisos de ejecución y lectura para las carpetas y lectura para los ficheros. Por ejemplo, el fichero que viene por defecto:


# Unix_name = SMB_name1 SMB_name2 ...
root = administrator admin
nobody = guest pcguest smbguest



El resultado de la configuración de smb.conf lo puedes comprobar con "testparm":

$testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[publica]"
Loaded services file OK.Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]

server string = Samba Server
security = SHARE
log file = /var/log/samba/%m.log
max log size = 0
usershare allow guests = Yes
[publica]

path = /home/publica
guest ok = Yes


Observa que hay opciones que desaparecen con el comando anterior. El motivo puede ser que esté mal escrita o no soportada y es ignorada, o que coincide con el valor por defecto de la propiedad. Una forma interesante de comprobar ambas cosas y sobre todo ver las opciones de configuración sobre las que debemos actuar es "testparm -v".


Un último obstáculo puede ser tener SElinux activado. Se manifiesta en que no puedes publicar directorios de creación reciente y si el /tmp o el /home. Antes de volverte loco con la configuración de SAMBA deshabilita SElinux para probar el acceso a la carpeta.

No hay comentarios: