Saltar al contenido

No puedo hacer que samba establezca los permisos adecuados en los directorios creados

Solución:

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á que desplazarse 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.

Tuve el mismo problema, pero todo como directivas de máscara. No trabajar para mí (Samba 4.3.11):

 create mask = 0664
 force create mode = 0664
 directory mask = 02775
 force directory mode = 02775

La única opción que funcionó fue bajo el [global] o compartir sección:

 inherit permissions = yes

Simplemente cambie todos los permisos de carpetas y archivos según sus necesidades, de modo que las carpetas y archivos futuros hereden los mismos permisos.

Después de muchas pruebas y errores, este es el código correcto para compartir el directorio samba usando grupos SGID y 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’ configurado como grupo principal para usuarios con privilegios de escritura, todos los demás obtienen derechos de solo lectura.

Obligo al usuario a que no lo use 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’

$ chmod -R 2755 /home/shares/test

Comprobando si todo está bien:

$ stat /home/shares/test
Access: (2755/drwxr-sr-x)  Uid: (65534/  nobody)   Gid: ( 1001/   admin)

Parte relevante de /etc/samba/smb.conf:

[test]
        comment = test
        path = /home/shares/test
        force user = nobody
        read only = No
        create mask = 0664
        force create mode = 0664
        directory mask = 02775
        force directory mode = 02775

Esta publicación me puso en el camino correcto, pero testparm reveló 4 directivas incorrectas, por lo que estoy compartiendo la configuración fija aquí. En samba, cuantas menos directivas especifique, mejor funcionará.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *