Идентификатор сообщения об ошибке: не удается найти имя для идентификатора группы после входа в систему

15

ФОН

Тревор входит в свою учетную запись на ssh: //foobar.university.edu как один из разработчиков на коробке, и он получает сообщение:

 id: cannot find name for group ID 131

Тревор тогда проверяет это, используя

 vim /etc/group

ПРОБЛЕМА

Тревор обнаруживает , что там не не 131 нигде в / и т.д. / файл группы.

Тревор тогда работает id ...

 > id trevor
 uid=4460(trevor) gid=131 groups=48(foobar),51(doobar),131

Чтобы обнаружить его первичную группу, по-видимому, к нему не прикреплено имя.

ВОПРОСОВ

  • Что, вероятно, случилось с этим обстоятельством на коробке foobar.university.edu?
  • Предположим, что trevor хочет это исправить (например, просто создав группу «trevor», которая отображается в GID 131), каков наилучший способ сделать это, не нарушая что-либо еще на сервере?
dreftymac
источник
Или, возможно, у вас неправильный доступ к файлу / etc / group.
Павел Патрин

Ответы:

18

Вероятно, произошло то, что UID и GID предоставляются серверу через LDAP. Если /etc/groupфайл не содержит перевода для GID, то администраторы сервера, скорее всего, просто не смогли обновить определения групп. Что ты можешь сделать? Немного. Идентификатор пользователя контролируется администратором. (Теперь, если у вас есть привилегии ROOT, вы можете добавить группу в /etc/group. Вы также должны проверить, используют ли какие-либо другие учетные записи пользователей ту же группу, и, если они есть, назовите группу соответствующим образом).

sparticvs
источник
6
Спасибо за ответ. Дополнительное примечание: если у вас достаточно прав; добавление в групповой файл может быть сделано через groupadd --gid 131 foobargroup
dreftymac
@dreftymac Предполагая, что при запуске выдает idодинаковый идентификатор для uid, gid и групп, я думаю, это безопасно groupadd -gID username?
XXX
Если эта учетная запись была настроена с использованием sssd с ldap / ad, другая возможность (если у вас есть root-доступ в вашей системе) состоит в том, что ваш атрибут ldap_group_search_base недостаточно общий и не содержит группу, которую ищет ваша система.
никто не
3

Это произошло, когда моему пользователю "Джексон" не была назначена группа. Я знал, что идентификатор сольной группы для моего пользователя был 1000 (когда пользователь создается с $ adduserпараметрами, а параметры не определены, ему назначаются следующие идентификаторы, доступные после 999. Первым получают uid 1000 и gid 1000).

Это предупреждение означает, что ваш пользователь не принадлежит к группе, поэтому вам нужно добавить пользователя в группу. Либо попросите своего администратора помочь вам, например, упомянуть @sparticvs, либо, если у вас есть права root / это ваша машина, вы можете сделать следующее:

$ addgroup [your_user_name]
$ usermod -a -G [your_user_name] [your_user_name]

И это должно это исправить (не проверено )

То, что я сделал, было просто (продвинутым)

  • $ sudo vi /etc/group
  • изменить строку web:x:1001:дляweb:x:1000:jackson

Это сделало моего пользователя jacksonчленом webгруппы.

К вашему сведению, если вы не знакомы, vimя не рекомендую «продвинутые» шаги, если вы действительно очень отчаянно пользуетесь$ sudo nano /etc/group

Jacksonkr
источник
хорошая работа над продвинутым заявлением об отказе от ответственности ... это может привести к несчастью и поломке, если не знать о последствиях.
dreftymac
Лучшим вариантом, чем использование viнапрямую, является использование специализированной версии vigr . Он делает временную копию и проверяет синтаксис перед сохранением, что делает его намного более безопасным при редактировании такой важной информации. Он доступен в BSD и GNU / Linux (из util-linuxпакета). Аналогичные инструменты для других важных файлов, например, vipw, visudo.
Энтони Дж - справедливость для Моники