Extraído desta excelente postagem nos Fóruns do Ubuntu da Morbius1.
A maneira clássica do Linux de fazer esse tipo de coisa é algo assim:
-
Crie a pasta compartilhada:
sudo mkdir /home/Shared
-
Crie o novo grupo de usuários:
sudo addgroup newgroup
-
Altere a propriedade da pasta compartilhada para o novo grupo:
sudo chown :newgroup /home/Shared
-
Adicione seus usuários desejados ao grupo:
sudo adduser user1 newgroup
Repita para todos os usuários.
Agora, você tem algumas decisões a tomar sobre o que deseja que esses usuários possam fazer:
-
[a] Todos os usuários do grupo podem adicionar e excluir da pasta e podem ler e não gravar nos arquivos uns dos outros:
sudo chmod 0770 /home/Shared
-
[b] O mesmo que acima, mas somente o proprietário do arquivo pode excluí-lo:
sudo chmod 1770 /home/Shared
-
[c] Todos os usuários do grupo podem adicionar e excluir da pasta e podem ler e gravar os arquivos uns dos outros:
sudo chmod 2770 /home/Shared
-
[d] O mesmo que [c] , exceto que somente o proprietário do arquivo pode excluí-lo:
sudo chmod 3770 /home/Shared
Um 1
na primeira posição do comando chmod é o sticky bit que impede a exclusão de um arquivo para qualquer pessoa que não seja o proprietário.
Um 2
na primeira posição do comando chmod é o setgid bit que força todos os arquivos novos ou copiados a ter o grupo dessa pasta.
Um 3
na primeira posição do comando chmod é a combinação da variável ( 1
) & amp; setgid ( +2
) bits.
Há uma ressalva em tudo isso no que diz respeito ao bit setgid. Todos os novos arquivos criados e quaisquer arquivos copiados para essa pasta herdarão, de fato, o grupo da pasta. Mas não os arquivos movidos para essa pasta. Os arquivos movidos mantêm a propriedade de onde quer que tenham sido movidos. Uma maneira de superar esse problema é usar bindfs.
Finalmente, se você quiser que outras pessoas fora do grupo consigam ver os arquivos, mas não alterá-los, altere o 0 final no comando chmod
para um 5, por exemplo:
sudo chmod 0775 /home/Shared