Por que o id-tool não mostra o último grupo adicionado?

3

Eu queria me adicionar a um grupo chamado vboxusers enquanto a seguinte situação ocorria:

Primeiro, vamos ver como fica antes de fazermos qualquer coisa:

$ id
uid=1001(me) gid=1001(me) groups=1001(me),4(adm),27(sudo),109(lpadmin),124(sambashare)
$ cat /etc/group | grep me
adm:x:4:me
sudo:x:27:me
lpadmin:x:109:me
me:x:1001:

Depois, adicionei-me ao grupo e verifiquei novamente:

$ sudo usermod -aG vboxusers me
$ id
uid=1001(me) gid=1001(me) groups=1001(me),4(adm),27(sudo),109(lpadmin),124(sambashare)
$ cat /etc/group | grep me
adm:x:4:me
sudo:x:27:me
lpadmin:x:109:me
me:x:1001:
vboxusers:x:126:me

id ainda não me lista como sendo parte do grupo, enquanto eu definitivamente escrevi o material correto em /etc/groups . O que aconteceu e o que posso fazer que id também reconheça?

(apenas começando um novo shell não mudou nada)

    
por erikbwork 11.06.2012 / 14:09

1 resposta

5

id mostra informações sobre o processo que o invoca (ou, mais precisamente, mostra informações sobre si mesmo, que herda do processo que o invoca). O banco de dados do grupo só é consultado no momento do login e afeta somente os processos descendentes dessa sessão de login. O processo de login recebe os grupos listados no banco de dados do grupo e todos os outros processos são herdados de seus pais.

Iniciar um novo shell não faz diferença, você precisa fazer logout e voltar. Você pode testar suas alterações fazendo login em outro console ou com ssh localhost ou com su me .

Você pode consultar o banco de dados do grupo com getent group vboxusers . A menos que sua máquina utilize NIS ou LDAP para obter informações de usuários e grupos de um servidor de rede, isso fornecerá as mesmas informações que grep '^vboxusers:' /etc/group . Mais uma vez, esta informação informa o que acontece no momento do login, não é consultado posteriormente.

    
por Gilles 11.06.2012 / 22:25

Tags