Herencia de permisos de directorio de Linux para nuevos archivos creados

Herencia de permisos de directorio de Linux para nuevos archivos creados

Tengo la siguiente carpeta.

 drwxr-xr-x   7 root root 45056 Nov 25 12:39 data

que incluyen subdirectorios y archivos, todos son 755,

pero cuando creo un nuevo archivo dentro de este directorio obtiene permiso

-rw-r--r-- 1 root root    0 Nov 28  2013 new

cómo hacer que se creen nuevos archivos en estos directorios, tome 755 sin hacerlo manualmente. Probé chmod g+s y no pasó nada.

algun consejo

Respuesta1

La única forma de configurar los permisos de bits es a través de su umask. Cuando se crea un archivo, digamos con permisos 666 (esto está en octal), su umask decide qué bits se convierten a 0.

Para explicar más: rwx rwx rwx es para User Group World respectivamente. Si cada bit se estableciera en 1 (111 111 111), sería 0777 (en octal). 0666 es 110:110:110 o rw_rw_rw. Espero que tenga sentido.

Su umask será, de forma predeterminada, 022 - (octal 022). Esto dice qué bits se deben mantener (0) y cuáles no (1). (Es un poco poco intuitivo de esa manera).

Tome un archivo creado 666: 6 & ~0 = 6 6 & ~2 = 4 6 & ~2 = 4

Por lo tanto, el archivo creado tendrá permisos de 644 (rw-r--r--).

Tenga en cuenta que el efecto de umask es enmascarar los bits que se asignan a la llamada de creación del archivo. Si la llamada toma 666, no hay manera de convertirla en 755 sin hacer un "archivo chmod a+x" manualmente.

Además, el efecto de g+s, al configurar el suid del grupo, es configurar el grupo propietario, no los permisos de bits. Windows es mucho más detallado a este respecto (ACL), pero existen extensiones de sistema de archivos para agregar permisos ACL a los sistemas de archivos de Linux.

información relacionada