Como eu defino permissões para um diretório para que os arquivos e diretórios criados sob ele mantenham as permissões de gravação do grupo? [duplicado]

5

Eu tenho um diretório no qual arquivos / diretórios colaborativos são armazenados. O diretório abc é de propriedade de root e o grupo é project-abc . Eu gostaria que este diretório tivesse o seguinte:

  1. Apenas os membros do grupo project-abc têm permissão para alterar o conteúdo desse diretório.
  2. Os arquivos adicionados a abc devem ter permissões de leitura e gravação para os membros ou grupo abc
  3. Os diretórios adicionados devem ter permissões de leitura, gravação e execução para o grupo abc

Isso é simples para diretórios estáticos, mas espera-se que o conteúdo desse diretório mude com bastante frequência. Qual é a minha melhor abordagem para produzir o resultado desejado?

    
por ephsmith 16.07.2012 / 05:38

1 resposta

3

A melhor coisa que você pode fazer é adicionar o bit setgid ( chmod g+s ) aos seus diretórios. Veja o diretório Setuid e Setgid no manual do coreutils. Novos diretórios preservarão a propriedade do grupo.

Quanto às permissões, o melhor que você pode fazer é garantir que umask 002 esteja em uso toda vez que alguém trabalhar nesse diretório.

(Sim, as permissões básicas do estilo unix são muito básicas às vezes ... não sei se as ACLs podem facilitar o trabalho colaborativo dentro de um diretório. Se elas forem ativadas no seu sistema, você pode dar uma olhada.)

    
por 16.07.2012 / 12:04