3

Я не новичок в Linux, но такое странное поведение я вижу на своей коробке Fedora 15. Я хочу добавить суперпользователя в группу, скажем, thisgroup .

# usermod -a -G thisgroup root
# groups
# root bin daemon sys adm disk wheel
#

^^ thisgroup отсутствует. Удивительно, но когда я думал о редактировании /etc/group , там присутствовал root !

Кто-нибудь, почему groups не показали мое новое дополнение?

2 ответа2

6

Из справочной страницы команды groups :

Print  group memberships for each USERNAME or, if no USERNAME is speci‐
fied, for the current process (which may differ if the groups  database
has changed)

Это как раз ваш случай: база данных группы изменилась, но членство в группе для текущего процесса не было обновлено. Если бы вы вместо этого запросили членство в группе для пользователя root вы бы получили правильный результат.

matteo@teomint:~$ sudo usermod -a -G test matteo
matteo@teomint:~$ groups
matteo adm dialout cdrom plugdev lpadmin admin sambashare
matteo@teomint:~$ groups matteo
matteo : matteo adm dialout cdrom plugdev lpadmin admin sambashare test

Короче говоря: для текущего процесса root еще не входит в thisgroup ; Вы должны войти снова.

0

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

Если вы делаете groups root вы должны увидеть ее в списке, так как она работает с файлом /etc/group .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .