Respostas:
Retirado deste excelente post no Ubuntu Forums por Morbius1.
A maneira clássica do Linux de fazer esse tipo de coisa é mais ou menos 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 os usuários desejados a esse grupo:
sudo adduser user1 newgroup
Repita para todos os usuários.
Agora você tem que tomar algumas decisões 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 apenas 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 nos arquivos uns dos outros:
sudo chmod 2770 /home/Shared
[d] O mesmo que [c], exceto que apenas o proprietário do arquivo pode excluí-lo:
sudo chmod 3770 /home/Shared
A 1
na primeira posição do comando chmod é o bit que impede a exclusão de um arquivo para qualquer pessoa que não seja o proprietário.
A 2
na primeira posição do comando chmod é o bit setgid que força todos os arquivos novos ou copiados a terem o grupo dessa pasta.
A 3
na primeira posição do comando chmod é a combinação dos bits sticky ( 1
) & setgid ( +2
).
Há uma ressalva em tudo isso no que diz respeito ao bit setgid. Todos os novos arquivos criados e todos os arquivos copiados para essa pasta herdarão o grupo da pasta. Mas não os arquivos foram movidos para essa pasta. Os arquivos movidos mantêm a propriedade de onde foram movidos. Uma maneira de superar esse problema é usar o bindfs.
Finalmente, se você deseja que outras pessoas fora do grupo possam ver os arquivos, mas não os altere, altere o 0 final no chmod
comando para 5, por exemplo:
sudo chmod 0775 /home/Shared