Efetue o logout e, em seguida, faça o login novamente, ele funcionará ou você poderá usar um novo terminal (não o gnome-terminal, os dispositivos tty).
Parece ser um bug, pois o requisito deste logout e login é completamente desnecessário.
Estou no Ubuntu 11.04. Estou criando outro usuário e colocando um usuário existente no grupo de outro usuário, esperando escrever no diretório home de outro usuário.
# uname -a
Linux vini 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC
2011 i686 athlon i386 GNU/Linux
# whoami
sachin
# su root
# useradd -m -U foo // create user foo
# usermod -a -G foo sachin // add user 'sachin' to group 'foo'
# chmod 770 /home/foo/
# exit
# whoami
sachin
# cd /home/foo/
bash: cd: /home/foo/: Permission denied
# groups sachin
sachin : sachin foo
Isso é totalmente estranho. Embora o usuário sachin
esteja no grupo foo
e os bits de grupo para / home / foo / estejam configurados como rwx, sachin
não pode acessar / home / foo /. Eu não sou capaz de entender isso.
Mas, se na etapa exit
, eu alterno para sachin
user da raiz, acontece o seguinte:
# uname -a
Linux vini 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC
2011 i686 athlon i386 GNU/Linux
# whoami
sachin
# su root
# useradd -m -U foo // create user foo
# usermod -a -G foo sachin // add user 'sachin' to group 'foo'
# chmod 770 /home/foo/
# su sachin
# whoami
sachin
# cd /home/foo/
# ls
examples.desktop
Agora, o que está acontecendo aqui é totalmente incompreensível. O su sachin
herda algumas permissões do usuário root
nesta etapa?
Qualquer explicação seria muito apreciada.
Efetue o logout e, em seguida, faça o login novamente, ele funcionará ou você poderá usar um novo terminal (não o gnome-terminal, os dispositivos tty).
Parece ser um bug, pois o requisito deste logout e login é completamente desnecessário.
Quais são as permissões de / home? Você precisa de + x permissões também.
Além disso, você precisa usar su - sachin
para chegar ao ambiente completo do novo usuário.
Observe que a página man do useradd
agora diz:
useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.
Se você estiver usando uma versão de desktop / GUI, as coisas geralmente funcionam mais facilmente com a ferramenta users-admin
.
O usuário com o shell ativo não herdará o novo grupo nesta sessão (supondo que você esteja fazendo isso como no exemplo ou por script) - você precisa ter um novo shell para esse usuário testar associação ao grupo. (A menos que você seja root.) Este é um comportamento antigo do Unix - então você normalmente iniciaria um novo processo shell para o usuário, por exemplo, abrindo um novo terminal (que gera um novo shell, lendo seu ambiente por padrão), ou gerando um novo shell para o usuário no mesmo terminal.