Conceda permissão de gravação padrão para agrupar todos os arquivos e pastas criados recentemente

15

Digamos que temos 2 usuários: aeb, que fazem parte do grupo geral.

Gostaria que qualquer arquivo ou pasta criado por A tivesse permissão de gravação para o grupo GERAL.

Como eu posso fazer isso?

Por exemplo, o arquivo recém-criado é definido como:

-rw-r--r-- 1 a general

Isso não dá permissão de gravação para o grupo geral

Dejel
fonte
Você pode estar interessado nesta resposta: stackoverflow.com/questions/3175303/…
Gavriel 15/13
2
Eu não quero fazer isso de Java. Este não é o caminho certo para fazê-lo
Dejel
"Não quero fazê-lo em Java. Este não é o caminho certo para fazê-lo." Isso é quase uma afirmação filosófica. Aplica-se em todos os lugares ...
GargantuChet

Respostas:

15

Sim, você pode fazer isso alterando o umask. Os umaskdetermina quais são as permissões padrão para um arquivo recém-creted.

Você pode adicionar umask g+wno final do seu arquivo de configuração do shell ( ~/.bashrcpor exemplo).

Mas, na verdade, não é uma prática recomendável. Caso você queira garantir a integridade de um arquivo e se esqueça de atualizar as permissões, ele poderá ser modificado pelo grupo. É contra o princípio de segurança "valores iniciais seguros".

O que você poderia fazer é tornar todo o arquivo recém-criado de um diretório específico gravável pelo grupo. Você pode fazer isso manipulando as ACLs do diretório. Por exemplo setfacl -dm u::rw,g::rw,o::r ~/shared,.

Veja essas postagens para referência: /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director e /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a .

lgeorget
fonte
E se eu não souber qual será o diretório? Desde que digamos que eu tenho a pasta TEST. Todos os arquivos que A cria estarão em TEST. No entanto, ele pode criar uma pasta 20130515 e embaixo dela para localizar o arquivo recém-criado. por isso deve ser para qualquer arquivo e pasta que é criada de forma recursiva na pasta TEST
Dejel
2
as ACLs padrão herdam os novos subdiretórios e se aplicam aos arquivos criados nesses diretórios. Portanto, se você /srv/TESTdefiniu as ACLs padrão nesse diretório, quando /srv/TEST/20130515elas terão as mesmas ACLs padrão que o diretório pai.
Bratchley
Também pode ser uma boa ideia executar, sudo chmod g+s [dir]para que os arquivos sejam de propriedade do grupo
linuxgnuru