Outra abordagem é usar as Listas de Controle de Acesso, um superconjunto de permissões de arquivos.
Primeiro, precisamos instalar os aplicativos acl pacote:
sudo apt-get install acl
Antes do Ubuntu 14.04 , a partição tem que ser montada com a opção acl
para o seguinte funcionar. Pode ser adicionado em /etc/fstab
, como em
UUID=<XXXX> /media/shared ext4 noatime,acl 0 2
ou para um sistema de arquivos já montado
sudo mount -o remount,acl /media/shared
Em seguida, você deve criar um novo grupo, ao qual todos os usuários com permissão para acessar o compartilhamento no modo de leitura / gravação serão adicionados. Eu chamo de usershare
. Um grupo já existente poderia ser usado.
sudo addgroup usershare
Agora adicionamos os usuários enzotib
e steevc
a esse grupo:
sudo gpasswd -a steevc usershare
sudo gpasswd -a enzotib usershare
(efetivo no próximo login).
Em seguida, adicionamos uma ACL com rwx
de permissões para o grupo usershare
a todos os arquivos que já estão em /media/shared
sudo setfacl -Rm g:usershare:rwX /media/shared
Por fim, adicionamos uma ACL padrão com rwx
de permissões para o grupo usershare
para todos os arquivos criados a partir de agora dentro de /media/shared
sudo setfacl -d -Rm g:usershare:rwX /media/shared
Agora, todos os usuários do grupo usershare
têm permissões completas em todos os arquivos em /media/shared
. As permissões de cada usuário nos diretórios pessoais dele e de outros não são afetadas.
Eu testei esta solução e parece funcionar, mas sugestões e correções são bem-vindas.
Observação : novos arquivos e diretórios criados no diretório considerado terão permissão de gravação para o grupo usershare
, mas os arquivos copiados ou movidos na pasta manterão suas permissões originais. Se o usuário, como eu entendo, só requer acesso de gravação aos diretórios recém-criados, isso não é um problema. Caso contrário, deve modificar as permissões manualmente. Veja esta resposta sobre como superar isso definindo a umask de usuários para 002
.