Почему мой пользователь не был назначен в группу, в которую я добавил себя?

Я на свежей установке Ubuntu 18.04. Во время установки я выбрал минимальную установку вместо стандартной.

Я просто добавил себя в docker группа с помощью следующей команды

sudo usermod -a -G docker danny

Я вышел из сеанса GNOME (я пробовал как из меню верхней панели, так и из поиска " выход из системы "). Но мой пользователь не был назначен на docker группа. Тем не менее, если я su в мой пользователь, группа там, так что предыдущая команда не завершилась.

$ groups
danny adm cdrom sudo dip plugdev lpadmin sambashare
$ groups danny
danny adm cdrom sudo dip plugdev lpadmin sambashare docker
$ su - danny
$ groups
danny adm cdrom sudo dip plugdev lpadmin sambashare docker

Мне пришлось сделать полную перезагрузку ОС, чтобы изменения вступили в силу.

Я уже перезагрузил, но это выход id;

$ id
uid=1000(danny) gid=1000(danny) groups=1000(danny),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),999(docker)

Но мне интересно, почему выхода не достаточно?

PS Я могу воспроизвести это поведение, добавив себя в любую случайную группу, а не просто docker,

2 ответа

Вы также можете использовать newgrp Команда присоединиться к новой группе:

jean@myLinux:~$ id
uid=1000(jean) gid=1000(jean) groups=1000(jean),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),129(vboxusers)
jean@myLinux:~$ newgrp - newgroup
jean@myLinux:~$ id
uid=1000(jean) gid=1003(newgroup) groups=1003(newgroup),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),129(vboxusers),1000(jean)

Я должен признаться, что я так же удивлен, как и вы, что выход / вход не назначают новую группу, но su - делает.

Вам не нужно перезагружаться, чтобы назначить дополнительную группу вашему пользователю. В работающей оболочке групповое назначение не меняется, но в новой оболочке оно меняется:

jean@myLinux:~$ sudo groupadd tester
[sudo] password for jean: 
jean@myLinux:~$ sudo usermod -a -G tester jean
jean@myLinux:~$ id
uid=1000(jean) gid=1000(jean) groups=1000(jean),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),129(vboxusers)
jean@myLinux:~$ su - jean
Password: 
jean@myLinux:~$ id
uid=1000(jean) gid=1000(jean) groups=1000(jean),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),129(vboxusers),1003(tester)
Другие вопросы по тегам