¿Cómo cambiar automáticamente los permisos para los archivos copiados a un directorio?

Respuestas:

2

Puedes usar umask para esto. para averiguar el modo de hacer esto:

  7777
-umask
= new permissions

por ejemplo (linux):

 777
-022
 755

umask es 022, los permisos serán 755 para carpetas y 644 para archivos. Poner algo como umask 0027 en su perfil ~ /. para que se cargue cada vez que inicie sesión.

ACTUALIZACIÓN (debido a un comentario escéptico):

$ umask 
0077

$ ll
total 0
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 00
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 01
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 02
-rw-rw-rw- 1 jaroslav jaroslav 0 Nov  9 20:26 03

$ rm -rf ../copies/*; \
  /bin/cp --no-preserve=mode,ownership * ../copies/; ll ../copies/ 
total 0
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 00
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 01
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 02
-rw------- 1 jaroslav jaroslav 0 Nov  9 20:33 03
Ярослав Рахматуллин
fuente
Creo que umask funciona solo en archivos recién creados, no copiados
The Chosen One
Los archivos copiados son nuevos.
Ярослав Рахматуллин
@ ЯрославРахматуллин no siempre pastebin.com/QtcMk8Q4
zb'
De acuerdo, si los archivos copiados no son nuevos, ¿qué son? ... como he mostrado umask puede estar acostumbrado a afectar nuevo Archivos que hace cp. Quizás algunas versiones de cp no admiten esto, pero rsync probablemente podría (no haberlo verificado) ser usado en esos sistemas para hacer lo mismo. De todos modos, esto no es de lo que se trataba la pregunta y la respuesta es incorrecta.
Ярослав Рахматуллин
cp trabaja, pero no mv .
John Siu
1

No creo que sea posible hacerlo directorio por directorio utilizando los permisos estándar de Unix. ACLs, sin embargo, puede hacer esto.

MyCatsBreath
fuente
Edité / etc / fstab y agregado acl atributo en la partición que contiene las carpetas X e Y. ¿Qué comando setfacl debo usar para resolver mi problema?
The Chosen One