GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿No puedo hacer que Samba establezca los permisos adecuados en los directorios creados?

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.


Ubuntu
  1. Cómo cambiar el nombre de un directorio en Linux

  2. ¿Poner en minúsculas todos los directorios bajo un directorio?

  3. ¿Rsync está cambiando los permisos del directorio?

  4. ¿Obtener archivo creado/hora de creación?

  5. ¿Simulando un enlace duro a un directorio?

Cómo obtener el tamaño de un directorio en Linux

Cómo configurar bloques de servidor Nginx en Ubuntu 18.04

Cómo configurar servidores virtuales Apache en Ubuntu 20.04

¿Cómo configurar la privacidad del directorio en cPanel?

Un gran cambio para Samba en Ubuntu 22.04 y cómo evitarlo

¿Cómo obtener una lista de directorios en un zip?