Почему мой пользователь не был назначен в группу, в которую я добавил себя?
Я на свежей установке 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)