Me gustaría dar 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 por defecto los permisos son 600.
¿Cómo podría imponer permisos 755 en estos archivos 'futuros'?
--EDITAR--
Utilizo un script que me da información sobre el tráfico de red en mi campus. Tengo un nuevo archivo cada 10 minutos, ubicado en una carpeta llamada viaje, ubicada en la carpeta del mes de esta manera:
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 en / 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
debian
permissions
chmod
umask
klaypez
fuente
fuente
umask
, pero no para anular un programa que crea archivos con modo0600
por diseño. Ver aquí para algunas referencias.umask
para agregar bits de ejecución a los archivos, esto debe hacerse a mano2017-04-27
) Y cómo se crean los directorios en primer lugar? Actualice la pregunta con estos detalles.Respuestas:
Intenta ejecutar
umask
en tu carpeta. Si devuelve algo que no sea '0022', entonces este es su problema. En su caso, debería generar inicialmente '0177'. El sistema de permisos al crear el directorio se calcula básicamente:default - umask
0777 es el modo predeterminado para los directorios y 0666 para los archivos normales, pero hay diferentes umasks, si entiendo bien estas cosas. Intenta ejecutarumask a=rx,uu+w
.EDITAR: puede usar umask para dar bit de ejecución al directorio para poder cd en él, pero no a los archivos. Estos deben ser ejecutados manualmente debido a la seguridad. Simplemente agregue
chmod +x <file>
a su script. Y, ejecutar bandera establecida en el archivo que no sea ejecutable no tiene ningún efecto.fuente
umask
comando de shell no depende de la ruta, solo depende del usuario que lo ejecuta, cada usuario tiene un valor umask específico, definido en el inicio de sesión y que se puede cambiar más adelante. Esto define cómo se crean los nuevos permisos de archivo.chmod a=rx,u+w
en tu respuesta.Supongo que está ejecutando las secuencias de comandos que generan los archivos en un entorno donde umask está configurado en 0077. Esto evita que el programa generador establezca los bits de permiso en el 'grupo' y 'otros' bits de permiso.
Tenga en cuenta que la umask forma parte del entorno heredado de cualquier proceso y, por lo general, se configura desde un 'perfil' predeterminado al iniciar sesión. Cualquier proceso (shell) puede modificar su propia umask (inicial) descendiente con el comando 'umask'.
Los bits en la umask actual evitarán la creación de archivos con estos bits establecidos en sus permisos (de ahí una "máscara", enmascarando los bits de permisos resultantes)
fuente
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 según lo prefiera.
También hay inotify
fuente