Tengo un servidor ubuntu que comparte algunas carpetas con samba. Cuando un cliente crea una nueva carpeta o archivo, los permisos no se establecen de acuerdo con la configuración en 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 (un cuadro 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 id del 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 grupo establecido, los usuarios del servidor no pueden crear nuevos archivos o carpetas en esas carpetas sin sudo.
He probado agregar y quitar la máscara de directorio, forzar modo de directorio, 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?
Después de muchas pruebas y errores, este es el código correcto para compartir el directorio samba usando SGID y grupos unix. Si el usuario se conecta de forma anónima, obtiene r / o, si inicia sesión y es miembro del grupo asignado, obtiene r / w.
Tengo un grupo llamado 'admin' establecido como grupo primario para usuarios con privilegios de escritura, todos los demás tienen derechos de solo lectura.
No fuerzo al usuario a nadie, por lo que diferentes personas que trabajan en los mismos archivos no interfieren entre sí.
Configuré chmod 2755 en el directorio compartido, por lo que hereda los directorios creados con el mismo grupo 'admin'
Comprobando si todo está bien:
Parte relevante de /etc/samba/smb.conf:
Esta publicación me puso en el camino correcto, pero testparm reveló 4 directivas incorrectas, por lo que estoy compartiendo una configuración fija aquí. En samba, cuantas menos directivas especifiques, mejor funcionará.
fuente
Tuve el mismo problema, pero todo, como las directivas de máscara , no funcionó para mí (Samba 4.3.11):
La única opción que funcionó fue en la sección [global] o compartir:
Simplemente cambie todos los permisos de carpetas y archivos según sus necesidades, para que las carpetas y archivos futuros hereden los mismos permisos.
fuente
4.8.11
encendidofreebsd
también :)Existe un problema muy similar al conectarse desde otros dispositivos Unix / Linux / OSX / MacOS: se ignoran todas las configuraciones a menos que especifique
Y conéctate con en
smb://<serverhost>
lugar decifs://<serverhost>
.fuente
fuente