Me gustaría otorgar 755 permisos a un directorio, así que uso:
# chmod -R 755 /my/folder/
Funciona para todos los archivos dentro de mi carpeta, pero el problema es que uso scripts que crean nuevos archivos en esta carpeta y, de forma predeterminada, los permisos son 600.
¿Cómo podría imponer 755 permisos a estos archivos 'futuros'?
--EDITAR--
Utilizo un script que me brinda información sobre el tráfico de red en mi campus. Tengo un archivo nuevo cada 10 minutos, ubicado en una carpeta llamada viaje, ubicada en la carpeta del mes como esta:
ls -lrt /home/netmet/secure/2017-04/2017-04-27/
total 118548
-rwxr-sr-x 1 root root 85922 avril 27 00:10 zzaccounting.dmp-00-00
-rwxr-sr-x 1 root root 54874 avril 27 00:20 zzaccounting.dmp-00-10
-rwxr-sr-x 1 root root 33534 avril 27 00:30 zzaccounting.dmp-00-20
-rwxr-sr-x 1 root root 48890 avril 27 00:40 zzaccounting.dmp-00-30
-rwxr-sr-x 1 root root 36878 avril 27 00:50 zzaccounting.dmp-00-40
-rwxr-sr-x 1 root root 37034 avril 27 01:00 zzaccounting.dmp-00-50
-rwxr-sr-x 1 root root 38154 avril 27 01:10 zzaccounting.dmp-01-00
-rwxr-sr-x 1 root root 38318 avril 27 01:20 zzaccounting.dmp-01-10
-rwxr-sr-x 1 root root 26978 avril 27 01:30 zzaccounting.dmp-01-20
-rwxr-sr-x 1 root root 31558 avril 27 01:40 zzaccounting.dmp-01-30
-rwxr-sr-x 1 root root 23662 avril 27 01:50 zzaccounting.dmp-01-40
-rwxr-sr-x 1 root root 32298 avril 27 02:00 zzaccounting.dmp-01-50
-rwxr-sr-x 1 root root 30282 avril 27 02:10 zzaccounting.dmp-02-00
-rwxr-sr-x 1 root root 31110 avril 27 02:20 zzaccounting.dmp-02-10
-rwxr-sr-x 1 root root 25718 avril 27 02:30 zzaccounting.dmp-02-20
-rwxr-sr-x 1 root root 26306 avril 27 02:40 zzaccounting.dmp-02-30
-rwxr-sr-x 1 root root 23690 avril 27 02:50 zzaccounting.dmp-02-40
-rwxr-sr-x 1 root root 23002 avril 27 03:00 zzaccounting.dmp-02-50
-rwxr-sr-x 1 root root 21854 avril 27 03:10 zzaccounting.dmp-03-00
Aquí cambié los permisos a mano, pero cuando aparece el archivo nuevo, tengo esto:
-rw------- 1 root root 3479106 avril 27 15:50 zzaccounting.dmp-15-40
La cuestión es que para cada carpeta y archivo bajo/home/netmet/secure/Quiero el permiso 755 por defecto.
Ya he hecho esto:
chmod -R g+s /home/netmet/secure
setfacl -d -m g::rwx /home/netmet/secure
setfacl -d -m o::rx /home/netmet/secure
Respuesta1
Intente ejecutarlo umask
en su carpeta. Si devuelve algo distinto de '0022', entonces este es su problema. En su caso, inicialmente debería generar '0177'. El sistema de permisos al crear un directorio se calcula básicamente:
default - umask
0777 es el modo predeterminado para directorios y 0666 para archivos normales, pero hay diferentes umasks, si entiendo bien estas cosas. Intenta ejecutar umask a=rx,uu+w
.
EDITAR: puede usar umask para asignar un bit de ejecución al directorio para poder ingresar en él, pero no en los archivos. A estos se les debe dar un bit de ejecución manualmente por motivos de seguridad. Simplemente agréguelo chmod +x <file>
a su script. Y ejecutar el indicador establecido en un archivo que no sea ejecutable no tiene ningún efecto.
Respuesta2
Supongo que estás ejecutando los scripts quegenerarlos archivos en un entorno donde umask está configurado en 0077. Esto evita que el programa generador establezca bits de permiso en los bits de permiso 'grupo' y 'otros'.
Tenga en cuenta que la umask es parte del entorno heredado de cualquier proceso y normalmente se configura a partir de un 'perfil' predeterminado al iniciar sesión. Cualquier proceso (shell) puede modificar su propia máscara de usuario (inicial) y la de sus hijos descendientes con el comando 'umask'.
Los bits en la umask actual impedirán la creación de archivos con estos bits configurados en sus permisos (de ahí una "máscara", que enmascara los bits de permiso resultantes)
Respuesta3
Nota: Esto no es ideal y debe considerarse como una solución temporal.
Puede crear un trabajo cron que ejecute el comando chmod cada 5 minutos o como prefiera.
También hayinotificar