
Normalmente costumo fazer login como root, o que sei que é uma má prática.
Então criei outro usuário, vamos chamá-lo de user1
. Exceto que agora, quando faço login como esse usuário, sou colocado em um diretório /home vazio e é bastante inútil.
O problema é que quero user1
ter acesso ao diretório /home/ de outros usuários, clonando efetivamente as permissões de outros usuários. Como posso fazer isso?
Responder1
Você poderia fazer isso tendo o mesmo ID de usuário (UID) para ambos os usuários, mas é uma prática muito ruim e pode ter consequências indesejadas. Veressepara uma discussão abrangente sobre o assunto.
A melhor maneira é ter esses usuários no mesmo grupo e definir permissões de grupo R ou RW em suas casas, ou melhor ainda, usar atributos estendidos (man setfattr
), ou permitir que seu usuário sudo su - <anotheruser>
via /etc/sudoers
arquivo, ou permitir que seu usuário faça sudo para root.
Opção do mesmo grupo
Primeiro crie um grupo especial, digamos team_a:
groupadd team_a
Em seguida, defina esse grupo para seus usuários (digamos user1
e user2
). Por padrão, cada usuário é criado em um novo grupo com o mesmo nome do usuário. Você definirá team_a como o grupo principal e deixará os grupos individuais como grupos secundários:
for user in user1 user2; do usermod -g team_a $user; usermod -a -G $user $user; done
Em seguida, atualize as permissões na página inicial do usuário2, dando acesso total a quaisquer membros do team_a
grupo, à pasta e a quaisquer arquivos e pastas contidos nela, de forma recursiva; isso permitiria que qualquer membro team_a
acessasse user2
a pasta pessoal e os arquivos de, mas você não está concedendo acesso a nenhum outro usuário (por exemplo, o seguinte não fornece acesso aos membros da pasta pessoal de seu) team_a
:user1
chmod -R g+rwX ~user2
Observe que você user2
pode remover essas permissões a qualquer momento ou criar novos arquivos sem conceder permissões de acesso ao grupo.
Por fim, certifique-se de que seus outros usuários criarão arquivos com acesso total para os membros desse grupo:
echo "umask 002" >> ~user2/.profile
Seu usuário pertencente ao grupo padrão de outros usuários:
Talvez mais simples do que acima, você pode adicionar seu user1
usuário aos grupos padrão de quaisquer outros usuários. Por padrão, na maioria das distribuições Linux e sistemas UNIX, as permissões de grupo padrão em novos arquivos são acesso total ao grupo quando o nome do grupo do usuário é igual ao nome do usuário, portanto, não há necessidade de manipular umask
esses usuários neste caso.
Configurando user1
para pertencer também ao user2
grupo padrão de:
usermod -a -G user2 user1
Concedendo acesso aos membros do user2
grupo à user2
pasta pessoal de:
chmod g+rwX ~user2