Supongamos que tengo dos usuarios Alice y Bob y un grupo GROUPNAME y una carpeta foo, ambos usuarios son miembros de GROUPNAME (que usan Linux y ext3).
Si ahorro como usuario Alice un fichero foo, los permisos son: -rw-r--r-- Alice Alice. Sin embargo, ¿es posible lograr que cada archivo guardado en algún subdirectorio footenga permisos -rwxrwx--- Alice GROUPNAME(es decir, la propietaria Alice, grupo GROUPNAME)?
permissions
group
acl
umask
estudiante
fuente
fuente

Respuestas:
Puede controlar los bits de permiso asignados con
umasky el grupo haciendo que el directorio se establezca enGROUPNAME.Tenga en cuenta que debe hacer
chgrp/chmodpara cada subdirectorio; no se propaga automáticamente (es decir, ni los directorios existentes ni los creados posteriormente bajo un directorio setgid serán setgid , aunque este último estará en el grupoGROUPNAME).También tenga en cuenta que
umaskes un atributo de proceso y se aplica a todos los archivos creados por ese proceso y sus hijos (que heredan elumaskefecto en su padre en esefork()momento). Es posible que los usuarios necesiten configurar esto~/.profiley que tengan que estar atentos a cosas no relacionadas con su directorio que necesitan permisos diferentes. Los módulos pueden ser útiles si necesita configuraciones diferentes al hacer cosas diferentes.Puede controlar las cosas un poco mejor si puede usar ACL POSIX; debería ser posible especificar una máscara de permisos y un grupo, y hacer que se propaguen de manera sensata. Sin embargo, el soporte para las ACL POSIX es algo variable.
fuente
-rwxrwx--- A G)?Si es posible, use listas de control de acceso (ACL) .
En Linux, asegúrese de que el sistema de archivos que está utilizando sea compatible con ACL (la mayoría de los sistemas de archivos Unix lo hacen). Es posible que deba cambiar las opciones de montaje para habilitar las ACL: con ext2 / ext3 / ext4, debe especificar la
aclopción de montaje explícitamente, por lo que la entrada/etc/fstabdebería ser similar/dev/sda1 / ext4 errors=remount-ro,acl 0 1. Ejecutarmount -o remount,acl /para activar las ACL sin reiniciar. También instale las herramientas de línea de comandos de ACLgetfaclysetfacl, generalmente, se proporciona en un paquete llamadoacl.Ahora que ha finalizado la configuración única, cambie la ACL del directorio para otorgar al grupo permisos de escritura y hacer que estos permisos sean heredados por los archivos recién creados. Bajo Linux:
Si ACL no son una opción, hacer que el directorio propiedad del grupo
GROUPNAME, y establecer sus permisos a 2775 o 2770:chmod g+rwxs /path/to/directory. Elsaquí significa el bit setgid; para un directorio, significa que los archivos creados en este directorio pertenecerán al grupo propietario del directorio.También deberá configurar la máscara de Alice y Bob para que todos sus archivos se puedan escribir en grupo de forma predeterminada. La umask predeterminada en la mayoría de los sistemas es 022, lo que significa que los archivos pueden tener todos los permisos excepto escribir por grupo y otros. Cambie eso a 002, lo que significa prohibir solo el permiso de escritura por otro. Por lo general, pondría esa configuración en su
~/.profile:fuente
mountcomando con laremountopción, por lo que no se usafstab. Teneracldos veces significa que el sistema de archivos ya estaba montado con laaclopción, y es inofensivo.acles el valor predeterminado para ext4 en los núcleos recientes, por cierto (el parche todavía era nuevo cuando escribí esta respuesta). P2: Puede ejecutar los comandos en cualquier orden.GROUPNAMElugar de hacerloG, para que quede más claroEsta pregunta es una buena opción para Linux
acl. Como no declaras tu sistema operativo, asumiré Linux en lo que sigue. Aquí hay una sesión de ejemplo.No conozco un
acltutorial realmente bueno , pero podrías hacerlo peor que http://www.vanemery.com/Linux/ACL/linux-acl.htmlTenga en cuenta que el valor predeterminado se
aclcomporta como una máscara de usuario local. Dado que, al menos en Linux, las máscaras de u se aplican a nivel mundial, esta es la única forma que sé para obtener el efecto de una máscara de usuario local. Por alguna razón, esta es una característica poco conocida. La red está llena de personas que preguntan sobre una anulación de umask local, pero casi nadie parece pensar en usarlaacl.También tenga en cuenta que necesita montar la partición en la que está trabajando con
aclsoporte, por ejemplo.La sesión sigue:
Establezca el grupo de
footo bestaffy establezca la acl de group y user offootorwx.Establezca también las acls predeterminadas de usuario y grupo
rwx. Esto define los permisos de los que los archivos y directorios heredanfoo. Por lo tanto, todos los archivos y directorios creados bajo foo tendrán permisos de gruporw.Ahora cree algunos archivos
foocomo usuariosfaheemyjohn.Lista de archivos. Tenga en cuenta que tanto los archivos de propiedad
faheemcomo los archivos de propiedadjohnse crean con permisos de gruporw.fuente