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


2

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

Por favor avise, gracias!


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

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.


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
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.