Como eu faço todos os arquivos atuais e futuros em um diretório legível por um determinado grupo / usuário?

3

Eu tenho um diretório "Caixa de coleta" para os alunos enviarem tarefas. Suas permissões são definidas como "drwx-wx ---", onde todos os alunos pertencem ao grupo. Isso permite que eles gravem, mas não leiam a partir da pasta. Eu gostaria de configurar as ACLs para que o usuário cs63 (uma conta usada pelo corpo docente) possa ler todos os arquivos. Eu tentei fazer:

chmod +a "user:cs63 allow read,file_inherit,directory_inherit" Top

no diretório de nível superior em que todos os diretórios do Drop Box aparecem. Quando olho para os atributos com "ls -lde", vejo:

user:cs63 allow list,file_inherit,directory_inherit

Eu assumo que "read" foi alterado para "list" porque "read" não é aplicável a diretórios, mas como eu especifico que eu quero que cs63 seja capaz de ler, não apenas listar, todos os arquivos?

Além disso, depois de definir a ACL correta, ela se aplicará aos arquivos que já foram enviados ou apenas aos futuros?

Eu me conecto ao servidor via ssh, então preciso fazer tudo isso na linha de comando.

EDITAR:

Eu tentei a sugestão de @ mindc de:

chmod -R +a "user:cs63 allow read,file_inherit,directory_inherit" Top

Funcionou para a maioria dos arquivos, mas não para um subdiretório cujas permissões eram:

drwx---rwx+ student cs63sp12

em que o usuário cs63 é membro de cs63sp12. Quando eu faço "ls -le" no subdiretório, eu recebo:

0: user:cs63 allow list,file_inherit,directory_inherit
    
por Ellen Spertus 12.03.2012 / 20:26

1 resposta

1

Experimente a opção -R , assim:

chmod -R +a "user:cs63 allow read,file_inherit,directory_inherit" Top
    
por 12.03.2012 / 22:08