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

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

Me gustaría automatizar el cambio de permisos para archivos copiados a un directorio. Por ejemplo, cualquier archivo copiado a la carpeta X debe tener el modo 755 y cualquier archivo copiado a la carpeta Y debe tener el modo 700.

Por favor avise, ¡gracias!

Respuesta1

Puedes usar umaskpara esto. para averiguar el modo haga esto:

  7777
-mascarilla
= nuevos permisos

por ejemplo (linux):

777
-022
 755

umask es 022, los permisos serán 755 para carpetas y 644 para archivos. Coloque algo como umask 0027en su ~/.profile 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

Respuesta2

No creo que sea posible hacer esto directorio por directorio utilizando permisos estándar de Unix. Las ACL, sin embargo, pueden hacer esto.

información relacionada