Permisos en archivos:


9

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   

3
ACL es la respuesta. Esto ha sido discutido antes.
d3ag0s

8
ACL es la respuesta para anular umask, pero no para anular un programa que crea archivos con modo 0600por diseño. Ver aquí para algunas referencias.
ilkkachu

1
Y un detalle más: de forma predeterminada, no se puede usar umaskpara agregar bits de ejecución a los archivos, esto debe hacerse a mano
Romeo Ninov

umask no funciona chicos
klaypez

¿Puedes editar el script que usas para crear los archivos? ¿Cómo llegan los archivos al directorio final (p. Ej. 2017-04-27) Y cómo se crean los directorios en primer lugar? Actualice la pregunta con estos detalles.
Tigger

Respuestas:


1

Intenta ejecutar umasken 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 - umask0777 es el modo predeterminado para los directorios y 0666 para los archivos normales, pero hay diferentes umasks, si entiendo bien estas cosas. Intenta ejecutar umask 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.


1
El umaskcomando 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.
Patrick Mevzek

Eso debería estar chmod a=rx,u+wen tu respuesta.
Patrick Mevzek

1

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)


0

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.