Как сказано в комментариях к исходному вопросу: почему в моем файле /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 пусты для моего обычного пользователя? Потому что я просто никогда не заполнял номер комнаты / и т.д. когда я создал этого пользователя (я даже не знаю, получил ли я этот выбор во время установки системы - я так не думаю).
(На заметке: эта система означает, что полное имя, например, «Даниэль Андерссон, доктор философии», будет неправильно интерпретировано большинством инструментов.)