одна допустимая группа linux отсутствует в / etc / group, но может быть найдена в группе getent

274
phray2002

Одна странная проблема. Я пытаюсь добавить одного пользователя (скажем, myuser) в группу (linuxadmins), но получаю следующую ошибку.

sudo usermod -a -G linuxadmins myuser usermod: group 'linuxadmins' does not exist 

Затем я пытаюсь устранить неполадки, но найденная группа не найдена в файле базы данных группы, но может быть возвращена getentпоиском. Вы можете найти 1-ю строку ( linuxadmins: x: 1000: some_ids ) его возврата и фрагмент дампа / etc / group. У кого-нибудь есть идеи, откуда взялась эта группа?

[my_sit@myhost /]$ getent group linuxadmins:x:1000:some_ids root:x:0:my_sit,other_sit bin:x:1:bin,daemon daemon:x:2:bin,daemon  [my_sit@myhost /]$ cat /etc/group root:x:0:my_sit,other_sit bin:x:1:bin,daemon daemon:x:2:bin,daemon 
0

1 ответ на вопрос

0
grawity

/etc/group не единственный источник групповой информации.

  1. Все поиски сначала проходят через демон кэша nscd . Если nscd кэширует группу, которая была впоследствии удалена, она все равно будет отображаться.

  2. Затем используются модули, настроенные в /etc/nsswitch.conf. Модуль «файлы» читает из / etc / group, но могут быть и другие, такие как «ldap», «nis», «sss» (AD / LDAP) и так далее.

Возможно, эта запись поступила из сетевого источника или из модуля кэширования. Проверяйте сконфигурированные модули (из nsswitch.conf) один за другим, пока не найдете группу:

getent -s files group linuxadmins getent -s ... group linuxadmins 

Похожие вопросы