Возможно ли, чтобы пользователь принадлежал к группе в Linux, но имя группы не указано в файле группы в каталоге /etc
Если да, то каковы некоторые примеры?
3 ответа
Возможно, что есть альтернативные местоположения для определений группы, как указано в
nsswitch.conf
:Возможно, объект файловой системы принадлежит UID или GID, который не был определен в
/etc/passwd
,/etc/groups
или через какую-либо альтернативную службу имен. Что касается ядра, это вполне приемлемо, поскольку именно пользовательское пространство в любом случае обеспечивает сопоставление с удобочитаемыми именами. В этом случае инструменты пользовательского пространства обычно отображают числовой идентификатор вместо имени.С другой стороны, хотя это вполне возможно, наличие объектов с недопустимым UID или GID обычно указывает на проблему некоторой значимости - довольно часто это будет пользователь, которого удалили без надлежащей обработки их файлов. Такая ситуация неприемлема в большинстве случаев, потому что она допускает возможность утечки информации, если рассматриваемый UID/GID будет повторно использоваться для нового пользователя / группы, который теперь обнаружит, что владеет несколькими файлами от предыдущего пользователя. ..
Возможно, мы сможем помочь вам больше, если вы упомянули реальную проблему ...
Возможно иметь файл с 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 также может влиять на имена пользователей и групп]
Надеюсь, это ответит на ваш вопрос.
Членство в группах может быть определено в NIS вместо /etc/group
. Обратитесь к вашему /etc/nsswitch.conf
.