Значение двоеточия и x в группе getent

Значение двоеточия и x в группе getent

Я наткнулся на команду getent group sudoдля вывода списка пользователей sudo в группе sudo и получил вывод. sudo:x:27:lionТеперь мне интересно, что означают :x:двоеточие и 27... также я вижу те же символы в /etc/passwd... так что же означают эти символы?

решение1

getent groupотображает записи из базы данных группы. Локальная база данных группы — это файл /etc/group, формат которого задокументирован вgroup(5)страница руководства.

Каждая строка в этом файле — это запись в базе данных, представляющая одну группу. Столбцы в строке разделены двоеточием. Второй столбец — это хэш пароля.

База данных пользователей/etc/passwdимеет похожий формат, с разным содержимым в столбцах. Первые два столбца — это имя и хэш пароля, как и в группе.

Эти файлы имеют столбец для пароля только для обратной совместимости. Обычно хэш пароля находится не в общедоступной базе данных пользователей/групп, а в другой базе данных, называемойтеневая база данных(/etc/shadowдля пользователей,/etc/gshadowдля групп), который содержит хэши паролей и другую информацию об учетных записях, такую ​​как даты истечения срока действия, и который может быть прочитан только привилегированными процессами.

Крайне редко пароли ставят на группу: обычно некоторые пользователи входят в группу, а другие — нет. Поэтому можно ожидать, что записи gshadowбудут иметь *в столбце хэш пароля (это не действительный хэш, это маркер, указывающий на то, что нет способа получить доступ к пользователю/группе путем ввода пароля).

решение2

Это тот же самый вывод, что и здесь:

grep ^sudo: /etc/group
  • sudoэто название группы
  • xпредставляет собой поле пароля
  • 27это GID (идентификатор группы)
  • lionявляется членом sudoгруппы

Группы также могут иметь пароли; их пароли хранятся в файлах /etc/gshadow.

  • man gpasswd
  • man gshadow

Связанный контент