/etc/passwd подробности путаница

/etc/passwd подробности путаница

Мне известно, что файл /etc/passwd состоит из строк учетных записей пользователей, которые включают в себя 7 полей, а именно:

username:encrypted password or token:userid:groupid:gecos:home directory:default shell 

Однако данные нескольких пользователей выглядят так

username:x:1000:1000:username,,,:/home/username:/bin/bash

Что обозначают запятые?

РЕДАКТИРОВАТЬ

В дополнение к комментарию Дэниела ниже: причина, по которой я спрашиваю, почему появляются запятые, заключается в том, что ни одна другая учетная запись пользователя в /etc/passwd, по-видимому, не имеет такой же структуры, несмотря на отсутствие других данных поля gecos.

решение1

Поле Gecos содержит не только имя пользователя, но и информацию об этом пользователе, например:

  • Настоящее имя
  • Номер комнаты
  • Номер телефона
  • и так далее...

Если мы посмотрим например статьи Википедии, это становится ясно:

jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email:/home/jsmith:/bin/sh

Пятое поле, называемое полем Gecos, — это комментарий, описывающий человека или учетную запись. Обычно это набор разделенных запятыми значений, включая полное имя пользователя и контактные данные.

Итак, то, что вы видите, — это пустой набор информации о пользователе. Скорее всего, в разных системах эта информация обрабатывается и задается в passwdфайле по-разному.

решение2

Как сказано в комментариях к оригинальному вопросу:Почему в моем файле /etc/passwd есть странные запятые?иhttp://en.wikipedia.org/wiki/Gecos_fieldобъяснятьчтоэти поля есть.

Чтобы ответить на вопрос «почему они появляютсянекоторыйпользователи, а не другие": эта информация обычно создается инструментом, который добавляет пользователя в систему. Не имеет смысла указывать, например, «Номер комнаты» для пользователя sshd, и поэтому эти поля опускаются в процессе создания этих пользователей.

Но почему тогда я вижу, например,

mysql:x:107:109:MySQL Server,,,:/var/lib/mysql:/bin/false

в моем etc/passwd? Этот пользователь, вероятно, был создан скриптом, который для удобства использовался adduser(присутствует во многих распространенных системах) вместо более низкоуровневого useraddинструмента (я думаю, что наименование могло бы быть лучше), и adduserавтоматически создает заполнители Gecos. Альтернативно, это мог быть сознательный выбор при создании пользователя просто придерживаться формата Gecos для соответствия, но я считаю, что в этих случаях это в основном ненужный хлам.

Почему же тогда поля Gecos пусты и для моего обычного пользователя? Потому что я просто не заполнил номер комнаты и т. д., когда создавал этого пользователя (даже не знаю, был ли у меня такой выбор при установке системы - не думаю).

(Заметка на полях: эта система означает, что полное имя, например, «Даниэль Андерссон, доктор философии», будет неправильно интерпретировано большинством инструментов.)

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