Não quero que a pasta compartilhada seja acessível por ninguém no sistema, quero que seja acessível apenas para um conjunto restrito de usuários.
Como eu faço isso?
fonte
Não quero que a pasta compartilhada seja acessível por ninguém no sistema, quero que seja acessível apenas para um conjunto restrito de usuários.
Como eu faço isso?
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