chmod: copiar permissões (com permissões estendidas) de um arquivo para outro

2

Eu tenho um sistema de arquivos ZFS compartilhado por meio do CIFS. De alguma forma, as permissões foram todas confusas, ao ponto de a propriedade estar toda correta, mas um monte de arquivos tem permissões de 0000.

Os arquivos que funcionam corretamente são assim:

-rwx------+  1 guest other 3.8M 2011-05-10 14:58 Presentation.ppt

Como faço para copiar esse conjunto de permissões e aplicá-lo ao resto dos arquivos no sistema de arquivos?

Atualizar

Obrigado pelas respostas - o problema que tenho é que um arquivo com 700 permissões, por algum motivo, não tem permissão para excluir, quando visualizado no Windows:

Definir a permissão dá o '+' no arquivo.

    
por growse 11.05.2011 / 17:51

4 respostas

3

Você pode ver as permissões estendidas com:

$ /usr/bin/ls -V Presentation.ppt

Isso pode parecer com:

$ /usr/bin/ls -V Presentation.ppt
   -rw-r--r--+  1 root     staff          0 Feb  3 14:13 file.1
        user:lp:rw------------:------:allow
         owner@:--x-----------:------:deny
         owner@:rw-p---A-W-Co-:------:allow
     user:marks:r-------------:------:deny
         group@:-wxp----------:------:deny
         group@:r-------------:------:allow
      everyone@:-wxp---A-W-Co-:------:deny
      everyone@:r-----a-R-c--s:------:allow

Você pode aplicar esse conjunto de configurações da ACL de forma recursiva ao seu compartilhamento:

$ /usr/bin/chmod -R A=\
    user:lp:rw------------:------:allow, \
    owner@:--x-----------:------:deny, \
    owner@:rw-p---A-W-Co-:------:allow, \
    user:marks:r-------------:------:deny, \
    group@:-wxp----------:------:deny, \
    group@:r-------------:------:allow, \
    everyone@:-wxp---A-W-Co-:------:deny, \
    everyone@:r-----a-R-c--s:------:allow, \
    /mnt/share
    
por 11.05.2011 / 18:16
0

Para descobrir a representação numérica:

-  rwx --- ---  
0  111 000 000
   --- --- ---
    7   0   0

Assim, se os proprietários e grupos estiverem bem, você poderá alterar todas as permissões para 700 .

chmod -R 700 /path/to/folders 
    
por 11.05.2011 / 18:02
0
chmod -R 0700 /path/to/files

Embora o "+" esteja incomodando, indicando uma ACL especial nos arquivos. você pode usar getfacl e setfacl para esses, mas é muito mais complicado. Confira este página para getfacl / info setfacl.

    
por 11.05.2011 / 18:03
0

Eu não sou um guru do ZFS, mas primeiro verifique se as permissões estendidas aparecem com getfacl <filename> . Assumindo isso, você pode usar essa saída para setfacl, que define as permissões. Faça isso primeiro descarregando a lista de acesso desejada por meio de getfacl Presentation.ppt > correctfacl.txt e, em seguida, configurando outros arquivos para isso com setfacl -M correctfacl.txt <files_to_change> (O sinal -R fará isso recursivo)

    
por 11.05.2011 / 18:04

Tags