Como alterar automaticamente as permissões para arquivos copiados para um diretório?

2

Eu gostaria de automatizar a alteração de permissões para arquivos copiados para um diretório. Por exemplo, todos os arquivos copiados para a pasta X devem ter o modo 755 e os arquivos copiados para a pasta Y devem ter o modo 700.

Por favor, avise, obrigado!

    
por The Chosen One 08.11.2012 / 20:12

2 respostas

2

Você pode usar umask para isso. para descobrir o modo de fazer isso:

  7777
-umask
= new permissions

por exemplo (linux):

 777
-022
 755

umask é 022, as permissões serão 755 para pastas e 644 para arquivos. Coloque algo como umask 0027 em seu ~ / .profile para que ele seja carregado toda vez que você efetuar login.

UPDATE (devido a um comentário cético):

$ 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
    
por 09.11.2012 / 02:25
1

Eu não acredito que seja possível fazer isso em uma base de diretório por diretório usando permissões unix padrão. As ACLs, no entanto, podem fazer isso.

    
por 09.11.2012 / 02:28