/etc/passwd
100%

Управление пользователями · Урок 3

/etc/passwd

Научитесь читать локальные записи passwd и отличать их от полного представления учётных записей NSS.

/etc/passwd хранит локальные записи учётных записей в текстовом формате с двоеточиями. Он сопоставляет имена входа числовым UID и хранит первичный GID, описание, домашний путь и программу входа.

Локальные записи и разрешённые учётные записи

Покажите локальный файл командой только для чтения:

$ cat /etc/passwd

Это не обязательно все известные системе учётные записи. Name Service Switch (NSS) может разрешать их из файлов, служб каталогов, системных баз и других настроенных источников. Для запроса разрешённой базы passwd используйте getent:

$ getent passwd
$ getent passwd root

Первая команда может раскрывать имена и метаданные учётных записей, поэтому проверяйте вывод перед публичной передачей.

Какая команда запрашивает разрешённую через NSS базу passwd, а не читает только локальный файл?

Чтение семи полей

Локальная запись обычно выглядит так:

root:x:0:0:root:/root:/bin/bash

Семь полей, разделённых двоеточиями:

  1. Имя входа: понятное человеку имя учётной записи, например root.
  2. Поле пароля: обычно x в системе теневых паролей, указывающий, что защищённые данные хранятся отдельно.
  3. UID: числовая идентичность пользователя. UID 0 традиционно обрабатывается как суперпользователь.
  4. Первичный GID: числовой идентификатор первичной группы учётной записи.
  5. GECOS/комментарий: описательные сведения, часто внутренне разделённые запятыми.
  6. Домашний каталог: путь, используемый как домашняя настройка учётной записи; он может отсутствовать на диске.
  7. Оболочка/программа входа: программа для применимых сеансов входа, например /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 и сохраняйте сеанс восстановления перед удалённым изменением файлов аутентификации.

Чтобы попрактиковаться с записями пользователей и групп в контролируемой среде, выполните лабораторные работы:

  1. Управление учётными записями Linux с useradd, usermod и userdel — отработайте полный жизненный цикл создания, защиты, изменения и удаления учётных записей.
  2. Управление группами Linux с groupadd, usermod и groupdel — попрактикуйтесь создавать группы и изменять членство пользователей.

Урок завершён

Вы завершили /etc/passwd

Теперь вы можете интерпретировать локальные записи passwd, не принимая их за полную базу идентичностей.

  • Запрашивайте разрешённые NSS учётные записи через getent passwd.

  • Читайте семь полей passwd, разделённых двоеточиями.

  • Находите поля UID и первичного GID.

  • Интерпретируйте заполнители пароля без чрезмерных выводов о входе.

  • Используйте инструменты учётных записей или vipw, а не обычный редактор.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Управление пользователями