В Linux имена пользователей — это удобочитаемые метки, но система идентифицирует пользователей с помощью уникального идентификатора пользователя (UID). Соответствие между именами пользователей и UID хранится в файле /etc/passwd, который является критически важным компонентом для управления пользователями.
Чтобы просмотреть его содержимое, вы можете использовать простую команду:
cat /etc/passwd
Этот файл отображает список всех системных пользователей и подробную информацию о них. Каждая строка представляет одну учетную запись пользователя.
Разбор полей /etc/passwd
Типичная строка в этом файле, часто самая первая, выглядит следующим образом:
root:x:0:0:root:/root:/bin/bash
Эта запись для пользователя root содержит семь полей, разделенных двоеточиями (:). Понимание структуры /etc/passwd в Linux является ключом к управлению пользователями. Давайте разберем каждое поле:
- Имя пользователя: Имя для входа пользователя (например,
root). - Пароль: Заполнитель для зашифрованного пароля пользователя. Фактический пароль здесь не хранится из соображений безопасности.
xуказывает, что зашифрованный пароль находится в файле/etc/shadow.*(звездочка) означает, что учетная запись заблокирована и не может использоваться для входа.- Пустое поле означает, что у пользователя нет пароля.
- Идентификатор пользователя (UID): Уникальный числовой идентификатор пользователя. Пользователь
rootвсегда имеет UID, равный0. - Идентификатор группы (GID): Числовой идентификатор основной группы пользователя.
- Поле GECOS: Поле для комментариев, которое традиционно содержит дополнительную информацию, такую как полное имя пользователя, номер телефона или местоположение офиса. Оно разделено запятыми.
- Домашний каталог: Абсолютный путь к домашнему каталогу пользователя (например,
/root). - Оболочка по умолчанию: Командный интерпретатор по умолчанию для пользователя, который запускается при входе в систему (например,
/bin/bash).
Системные пользователи и специальные учетные записи
Когда вы просматриваете файл /etc/passwd, вы заметите множество учетных записей, которые не принадлежат людям. Это системные учетные записи, используемые для запуска определенных служб или процессов с ограниченными правами, что повышает безопасность системы. Например, пользователь daemon используется для запуска фоновых процессов-демонов.
Редактирование файла /etc/passwd
Хотя технически вы можете редактировать файл /etc/passwd напрямую с помощью текстового редактора или команды vipw, это настоятельно не рекомендуется. Ручное редактирование может легко привести к синтаксическим ошибкам, потенциально заблокировав вам доступ к системе или вызвав нестабильность.
Всегда безопаснее и надежнее использовать специальные утилиты командной строки, такие как useradd, usermod и userdel, для управления учетными записями пользователей. Эти инструменты предназначены для правильного изменения файла и обработки всех связанных конфигураций.