Ao adicionar um usuário a um novo grupo, isso não será aplicado em nenhum processo em execução no momento, apenas em novos. Você precisa fazer logout e, em seguida, fazer login novamente.
Estou executando o servidor Ubuntu 10.04 e estou tendo algumas experiências bastante contra-intuitivas com usuários / grupos. Por exemplo:
sudo touch test_file # create empty file
sudo groupadd test # create 'test' group
sudo chown root:test test_file # change group of file to 'test'
sudo chmod g+rwx test_file # give write permissions to group
sudo usermod -a -G test {my-user} # add my user to 'test' group
touch test_file # touch the file as my current user
A última linha produz um erro de permissão.
Assegurei que meu usuário faz parte do grupo "teste" ( groups {my-user}
confirma isso). O grupo test_file também está definitivamente configurado para 'test' e as permissões do grupo estão definidas.
Por que meu usuário não pode gravar no arquivo de teste do arquivo?
Os métodos de fazer logout e reinicialização do servidor não funcionaram para mim.
Esse método, no entanto, está funcionando para mim: (referência a essa resposta )
chmod g+rwxs <parent folder>
Você pode usar o comando newgrp
para alterar o ID do grupo atual do usuário. De man newgrp
:
The newgrp command is used to change the current group ID during a login session. If the optional
-
flag is given, the user's environment will be reinitialized as though the user had logged in, otherwise the current environment, including current working directory, remains unchanged.
Reinicialize o computador para garantir que nenhum processo travado esteja impedindo que seu usuário e grupos sejam aplicados corretamente durante o logout e login.
Essas etapas devem fornecer ao usuário do grupo test
a permissão de gravação em test_file
sudo touch test_file
sudo groupadd test
sudo chown root:test test_file
sudo chmod g+rwx test_file
sudo usermod -a -G test {my-user}
Reinicialize o computador ou faça um logout do sistema operacional do usuário. Um reinício do terminal não é suficiente.
touch test_file
O usuário pode gravar no arquivo porque é parte do grupo 'teste' e o grupo tem permissão rwx.