1

Возможно ли, чтобы пользователь принадлежал к группе в Linux, но имя группы не указано в файле группы в каталоге /etc Если да, то каковы некоторые примеры?

3 ответа3

5
  1. Возможно, что есть альтернативные местоположения для определений группы, как указано в nsswitch.conf:

    • NIS

    • LDAP

    • Файлы Беркли БД, а не плоские файлы

    • ... и любое количество альтернативных методов, которые могут или не могут быть доступны в качестве дополнительных модулей NSS в системе.

  2. Возможно, объект файловой системы принадлежит UID или GID, который не был определен в /etc/passwd , /etc/groups или через какую-либо альтернативную службу имен. Что касается ядра, это вполне приемлемо, поскольку именно пользовательское пространство в любом случае обеспечивает сопоставление с удобочитаемыми именами. В этом случае инструменты пользовательского пространства обычно отображают числовой идентификатор вместо имени.

    С другой стороны, хотя это вполне возможно, наличие объектов с недопустимым UID или GID обычно указывает на проблему некоторой значимости - довольно часто это будет пользователь, которого удалили без надлежащей обработки их файлов. Такая ситуация неприемлема в большинстве случаев, потому что она допускает возможность утечки информации, если рассматриваемый UID/GID будет повторно использоваться для нового пользователя / группы, который теперь обнаружит, что владеет несколькими файлами от предыдущего пользователя. ..

Возможно, мы сможем помочь вам больше, если вы упомянули реальную проблему ...

2

Возможно иметь файл с GID, который не указан в группах, это довольно часто случается, если вы импортируете файлы (например, tar-шарики) с другого компьютера. Затем группа отображается с помощью ls и такой как число, например 4000. Например

-rw-r--r-- 1 root 4000 0 Dec 24 11:04 foo.foo

(Я сделал это на touch foo.foo; chgrp 4000 foo.foo)

Файл группы - это просто удобство, когда дело доходит до имени, и, конечно, чтобы определить, какие пользователи являются частью какой группы.

Аналогично, вы можете в /etc/passwd установить для пользователя fred номер 4000.

Я не уверен, что у вас может быть пустое имя группы в /etc/groups

[И, как указывает larsmans, NIS также может влиять на имена пользователей и групп]

Надеюсь, это ответит на ваш вопрос.

1

Членство в группах может быть определено в NIS вместо /etc/group . Обратитесь к вашему /etc/nsswitch.conf .

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