Tengo un servidor ubuntu compartiendo algunas carpetas usando samba. Cuando un cliente crea una nueva carpeta o archivo, los permisos no se establecen de acuerdo con la configuración de smb.conf.
Mi configuración actual para un recurso compartido específico:
[share]
path = /mnt/share
browsable = yes
guest ok = no
writable = yes
read only = no
create mask = 0774
directory mask = 0774
write list = netuser
Cuando un cliente samba (una caja de Windows 7) usa la cuenta 'netuser' para crear un archivo o directorio, los permisos se vuelven
drwxr-sr-- 2 netuser sambashare 4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare 0 2012-01-22 21:07 New Text Document.txt
El directorio principal tiene el indicador de identificación de grupo establecido, por lo tanto, el propietario del grupo sambashare. La idea es que tanto los usuarios de samba como los usuarios del servidor pertenezcan al grupo sambashare y, por lo tanto, puedan editar, eliminar y crear archivos y directorios. Sin embargo, dado que las carpetas creadas no tienen el indicador de escritura para el conjunto de grupos, los usuarios del servidor no pueden crear nuevos archivos o carpetas en esas carpetas sin sudo.
Probé agregando y eliminando la máscara de directorio, el modo de directorio forzado, el modo de seguridad de directorio y el modo de seguridad de directorio forzado, pero los comportamientos aún permanecen. Los archivos y carpetas recién creados no obtienen el permiso 774 previsto, sino 764 y 754 respectivamente.
¿Qué me estoy perdiendo? ¿Por qué Samba no establece los permisos correctos?
Mejor respuesta
Creo que necesitas usar los siguientes parámetros:
# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664
# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
Estaba buscando una buena explicación de cómo funcionan estas configuraciones, pero no pude encontrar nada mejor que man smb.conf
Tendrás que desplazarte un poco hacia abajo para ver esas opciones.
Básicamente, en pocas palabras, los permisos de Windows no son los mismos que los de Unix (Linux) y es un poco extraño cómo samba asigna los permisos.