/etc/passwd хранит локальные записи учётных записей в текстовом формате с двоеточиями. Он сопоставляет имена входа числовым UID и хранит первичный GID, описание, домашний путь и программу входа.
Управление пользователями · Урок 3
/etc/passwd
Научитесь читать локальные записи passwd и отличать их от полного представления учётных записей NSS.
Локальные записи и разрешённые учётные записи
Покажите локальный файл командой только для чтения:
$ cat /etc/passwd
Это не обязательно все известные системе учётные записи. Name Service Switch (NSS) может разрешать их из файлов, служб каталогов, системных баз и других настроенных источников. Для запроса разрешённой базы passwd используйте getent:
$ getent passwd
$ getent passwd root
Первая команда может раскрывать имена и метаданные учётных записей, поэтому проверяйте вывод перед публичной передачей.
Какая команда запрашивает разрешённую через NSS базу passwd, а не читает только локальный файл?
Чтение семи полей
Локальная запись обычно выглядит так:
root:x:0:0:root:/root:/bin/bash
Семь полей, разделённых двоеточиями:
- Имя входа: понятное человеку имя учётной записи, например
root. - Поле пароля: обычно
xв системе теневых паролей, указывающий, что защищённые данные хранятся отдельно. - UID: числовая идентичность пользователя. UID 0 традиционно обрабатывается как суперпользователь.
- Первичный GID: числовой идентификатор первичной группы учётной записи.
- GECOS/комментарий: описательные сведения, часто внутренне разделённые запятыми.
- Домашний каталог: путь, используемый как домашняя настройка учётной записи; он может отсутствовать на диске.
- Оболочка/программа входа: программа для применимых сеансов входа, например
/bin/bashили программа, запрещающая вход.
Ядро не требует уникальности UID в повреждённых или намеренно дублированных записях, но учётные записи с одинаковым UID неразличимы для многих решений о владении и правах. Обычно администраторы должны сохранять UID уникальными.
Какое поле в root:x:0:0:root:/root:/bin/bash содержит UID?
Какое поле записи passwd хранит первичный GID учётной записи?
Интерпретация заполнителя пароля
В типичных системах теневых паролей x в поле 2 направляет инструменты работы с паролями к защищённым данным в /etc/shadow. Значения вроде * и ! не являются допустимыми хешами и обычно запрещают аутентификацию паролем Unix через эту запись.
Это не доказывает невозможность входа любым способом. Ключи SSH, сертификаты, токены и механизмы конкретных служб могут быть независимы. Поведение пустого поля пароля также зависит от стека аутентификации и имеет значение для безопасности; не создавайте и не «исправляйте» его вручную.
Что обычно означает x в поле 2 локальной записи /etc/passwd?
Служебные учётные записи
Многие записи представляют службы, а не людей. Отдельные служебные идентичности помогают ограничить файлы и процессы полномочиями одного демона. Их домашние пути могут быть нестандартными или отсутствовать, а программа входа — /usr/sbin/nologin, /bin/false или другая ограничительная программа.
Не определяйте назначение учётной записи только по диапазону UID без проверки политики дистрибутива. Диапазоны выделения различаются, а централизованно управляемые записи могут следовать другим соглашениям.
Каково распространённое назначение программы входа /usr/sbin/nologin в поле 7?
Безопасное изменение записей
Предпочитайте инструменты useradd, usermod и userdel: они согласуют связанные записи и применяют системные значения по умолчанию. Точное поведение настраивается дистрибутивом, поэтому изучайте параметры до изменения учётной записи.
Если локальной базе passwd действительно нужен ручной ремонт, используйте vipw, а не обычный редактор. Он применяет блокировку для предотвращения одновременных правок. Проверяйте базы инструментами вроде pwck и сохраняйте сеанс восстановления перед удалённым изменением файлов аутентификации.
Чтобы попрактиковаться с записями пользователей и групп в контролируемой среде, выполните лабораторные работы:
- Управление учётными записями Linux с useradd, usermod и userdel — отработайте полный жизненный цикл создания, защиты, изменения и удаления учётных записей.
- Управление группами Linux с groupadd, usermod и groupdel — попрактикуйтесь создавать группы и изменять членство пользователей.
Урок завершён
Вы завершили /etc/passwd
Теперь вы можете интерпретировать локальные записи passwd, не принимая их за полную базу идентичностей.
Запрашивайте разрешённые NSS учётные записи через
getent passwd.Читайте семь полей passwd, разделённых двоеточиями.
Находите поля UID и первичного GID.
Интерпретируйте заполнители пароля без чрезмерных выводов о входе.
Используйте инструменты учётных записей или
vipw, а не обычный редактор.
Сохраните прогресс
Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.
Создать бесплатный аккаунт