Pregunta ¿Cómo puedo forzar permisos específicos para nuevos archivos / carpetas en el servidor de archivos de Linux?


Estoy teniendo un problema con mi instalación de Ubuntu 9.10 (servidor de archivos) y sus permisos de samba. Entrar y leer funciona bien. Sin embargo, la creación de nuevos directorios por parte de los usuarios restringe el acceso de otros usuarios. Por ejemplo, si Bob (el usuario de Windows que asigna el disco) crea una carpeta en el directorio, Jane (la usuaria de Mac que simplemente monta smb) puede leer, pero no puede escribir, y viceversa. Entonces debo ir a CHMOD 777 el directorio para que todos sean felices. He intentado editar las opciones "crear / directorio máscara" y "forzar" en el archivo smb.conf pero esto no parece ayudar.

Estoy a punto de recurrir a CRONTABing una rutina chrod recursiva, aunque estoy seguro de que esta no es la solución. ¿Cómo consigo que todos los artículos nuevos sean siempre 777? ¿Alguien tiene alguna sugerencia para solucionar esta situación que ocurre siempre?

Mejor


14
2017-07-08 13:19


origen


Grupos de usuarios y otros permisos nativos, no chmod 777. - Warner


Respuestas:


Normalmente uso la funcionalidad nativa de SAMBA para permisos y administración de grupos en recursos compartidos. Por ejemplo..

force user=user1
force group=sharedgroup
create mask=775

Debería especificar estas configuraciones en el recurso compartido. Asegúrese de volver a cargar SAMBA después del cambio de configuración, lo que podría hacerse a través del script de inicio.


13
2017-07-08 13:45



Sin embargo, el post dice que hizo eso y no funcionó ... - Mistiry
Entonces lo hizo mal. Funciona. - Warner
No estoy seguro de lo que pasa. Lo he intentado manualmente ya través de Webmin sin éxito. Quizás mi elección grupal de grupo sea incorrecta? He intentado usar "usuarios" así como varios grupos creados manualmente, de los cuales todos se han hecho miembros. Independientemente de lo que haga, los usuarios no pueden manipular nada que no hayan colocado. La única "solución" es que todos los usuarios inicien sesión (o se monten) como INVITADO, lo que genera confusión. - humble_coder
SAMBA utiliza una combinación de permisos y configuraciones del sistema de archivos dentro de la configuración. Si los usuarios no están en una write list o de lo contrario se permite escribir en la configuración de compartir, no funcionará. Si el usuario con el que se ejecuta SAMBA no puede acceder a los directorios, no funcionará. Los usuarios deben ser miembros del grupo apropiado, los directorios y archivos deben ser propiedad de ese grupo y tener el bit de escritura establecido para el grupo. También puede consultar los registros de SAMBA. - Warner
¡Llevo mucho tiempo buscando esto! ¡Gracias! :) Está funcionando como se esperaba. - NagyI


Establezca los permisos en el directorio para que sean 2777, así:

chmod 2777 /shared/dir

Esto hace que todos los archivos y carpetas bajo el directorio '/ shared / dir' hereden los permisos del directorio superior, en este caso 777.

Luego, haga esto para asegurarse de que todos los archivos tengan los permisos adecuados:

chmod -R 777 /shared/dir

2
2017-07-08 13:38



Acerca de la única situación en la que se acepta públicamente la escritura es con /tmp. - Warner
Sí, probablemente sea mejor usar 774 o incluso 770, dependiendo de la situación. Pero, él preguntó cómo hacer que todos ellos fueran '777', así que simplemente lo usé en mi ejemplo. - Mistiry
Sí, pero ¿cómo me aseguro de que todos los archivos futuros copiados a ese directorio a través de la red reciban los mismos permisos independientemente de sus permisos iniciales? No tengo problemas cuando lo hago manualmente, simplemente lo quiero automatizado. - humble_coder
Esto no funciona. El indicador setgid para carpetas establece el grupo de nuevos archivos y carpetas, no permisos, y ejecutar chmod todo el tiempo no es aceptable. Necesito una solución que no esté relacionada con samba, para Steam en Linux, de modo que pueda compartir la biblioteca entre usuarios. - Sam Watkins


Me doy cuenta de que esta es una pregunta antigua, pero recientemente tuve un problema similar y aquí es cómo lo resolví:

[compartir]
máscara de seguridad = 0770
crear máscara = 0770
forzar crear modo = 0660
comentario = Samba compartir para IT
ruta = / raid / compartir
navegable = SI
invitado ok = no
write list = root, @ "DOMAIN + it_nfs"
grupo de fuerza = DOMINIO + it_nfs

Esto garantiza que los usuarios tengan que estar en el grupo de seguridad "it_nfs" en AD, todos los archivos se escribirán con el grupo "it_nfs", y todos los archivos se escribirán con al menos 0660 y a lo sumo 0770 perms. Forzar la identificación del grupo garantiza que cualquiera en ese grupo pueda leer / escribir los archivos en el recurso compartido. De lo contrario, terminas con situaciones en las que un archivo escrito como bob: bob no puede ser escrito por charlie: charlie, aunque ambos estén en "it_nfs".


2
2018-02-08 14:18





De los comentarios de la respuesta aceptada, en realidad no resolvió el problema de OP, y tampoco las otras respuestas, si OP tuvo el mismo problema que yo:

Tener el compartir en una partición NTFS / FAT.

Recuerde esto cuando conecte su disco de escritorio a un NAS para compartir sus álbumes familiares: fs monte params Para usuario, grupo, crear modos etc. anular Lo que sea configurado para Samba! ;)

(Por ejemplo, en mi caso, independientemente de smb.conf todo fue creado por root, con 777 - según el fstab defaults para el montaje de fusible NTFS ...)


0
2017-12-10 00:57