Администрирование Linux
  • Введение в дисциплину
    • Функции, права и ответственность системного администратор
    • Сетевые операционные системы
    • Знакомство с Linux
    • Дистрибутивы Linux
    • Графические оболочки Linux
    • Важно! Основы работы с ВМ!
    • Установка Linux
    • Запуск и останов системы
    • Общие сведения о работе в командной оболочке Linux
      • Документация по ОС Linux
      • Сокращения команд
      • Работа с потоком данных и его фильтрация
      • Выполнение команд. Простейшие команды для работы с каталогами
    • Требования к практическим работам
      • Правила оформления и сдачи отчётов
    • Контрольная работа
    • Практическая работа №1
  • Базовые задачи
    • Работа с пользователями в Linux
      • Редактирование файла Sudoers
      • /etc/passwd и /etc/shadow
      • Права доступа
      • Списки контроля доступа и расширенные атрибуты
      • Практическая работа №2. Управление учетными записями
      • Практическая работа №3. Управление правами доступа
    • Установка программ (утилит) пакетным менеджером
      • Установка программ (утилит) пакетным менеджером. Установка из архивов (тарболов)
      • Troubeshooting пакетных менеджеров
      • Практическая работа №4. Установка программ в Linux
    • Процессы и потребление ресурсов сервера
      • Процессы и потребление ресурсов сервера. Практика
      • Мониторинг процессов и ресурсов в ОС Linux
      • Система инициализации SystemD
      • Практическая работа №5
    • Контрольная работа
  • Управление файлами
    • Структура файловой системы Linux
      • Файлы-устройства
      • Типы файлов (MIME)
      • Сведения об именах файлов
    • Файловые менеджеры Linux
    • Работа с файлами и каталогами в Linux
      • Поиск информации в ОС Linux (find,grep,locate,wc, cut ...)
    • Архивирование файлов в Linux
    • Ссылки. Указатели на файл в ОС Linux
    • Создание раздела диска в Linux
      • Монтирование и разметка диска. Просмотр размера диска
    • Запись cd/dvd дисков в Linux
    • Практическая работа №6. Работа с файлами в UNIX
    • Контрольная работа
  • Сетевые настройки Linux
    • Сетевые настройки Linux
      • Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Astra Linux, Ubuntu, Kubuntu)
      • Вариант № 2. RedHat-based дистрибутивы ( RedOS, OpenSuse, CentOS, Fedora)
    • Настройка параметров прокси
    • Поиск и устранение неисправностей с сетевыми параметрами
      • 11 примеров использования netstat
      • Использование команд ifup, ifdown и ifquery на Linux
    • Практическая работа №7. Управление сетью
    • Iptables, firewalld, ufw, nftables
    • Расчет сети с помощью ipcalc
    • Контрольная работа
  • Сервисы Linux
    • Получение удаленного доступа к сервер
      • Про SSH port forwarding в Linux
    • Протокол DHCP
      • Настройка DHCP сервера (isc-dhcp-server)
    • Протокол DNS
      • Настройка DNS сервера (BIND9)
    • Протокол NTP
      • Настройка NTP сервера
    • Протокол FTP
      • Настройка FTP-сервера (vsftpd)
    • Протокол samba
      • Настройка Samba
    • Сетевая файловая система NFS
      • Настройка NFS
    • Настройка центра сертификации OpenSSL
    • Системы управления базами данных
      • Установка и настройка СУБД MySQL
      • Установка и настройка СУБД MongoDB
    • Веб-сервер
      • Apache
        • Установка и настройка стека LAMP
        • Установка и настройка PHPMyAdmin
        • Установка и настройка Wordpress
      • Nginx
        • Установка и настройка Nginx
    • Docker
      • Установка и развертывание приложения в Docker
    • Почтовый сервер Postfix, Dovecot
    • Что такое прокси сервер
      • Прокси Squid
    • OTRS
    • LMS
    • MediaWiki
    • ClamAV
    • CUPS
    • Rsyslog: syslog сервер в Linux
    • Резервное копирование в Linux
      • Резервное копирование через скрипт
      • Bacula
    • Контрольная работа
  • Дополнительно
    • Использование скриптов в ОС Linux
      • Написание bash-скриптов
      • Написание скриптов на Perl
      • Написание скриптов на Python
    • Игры и пасхалки в консоли Linux
    • Полезные ресурсы
    • Рекомендации ФСТЭК по безопасной настройке операционных систем Linux
Powered by GitBook
On this page
  • /etc/passwd/
  • Формат /etc/passwd
  • Выводы
  • /etc/shadow/
  • Формат /etc/shadow
  • Пример записи
  • Выводы
  1. Базовые задачи
  2. Работа с пользователями в Linux

/etc/passwd и /etc/shadow

В системах Linux можно использовать несколько различных схем аутентификации. Наиболее часто используемая и стандартная схема — аутентификация по файлам /etc/passwd и /etc/shadow .

/etc/passwd/

/etc/passwd — это база данных на основе обычного текста, которая содержит информацию для всех учетных записей пользователей в системе. Он принадлежит пользователю root и имеет права 644 . Файл может быть изменен только пользователем root или пользователями с привилегиями sudo и доступен для чтения всем пользователям системы.

Следует избегать изменения файла /etc/passwd вручную, если вы не знаете, что делаете. Всегда используйте команду, предназначенную для этой цели.

Например, чтобы изменить учетную запись пользователя, используйте команду usermod , а чтобы добавить новую учетную запись пользователя, используйте команду useradd .

Формат /etc/passwd

Файл /etc/passwd — это текстовый файл с одной записью в строке, представляющий учетную запись пользователя. Чтобы просмотреть содержимое файла, используйте текстовый редактор или команду, например cat :

cat /etc/passwd

Обычно первая строка описывает пользователя root, за ней следуют учетные записи системного и обычного пользователя. Новые записи добавляются в конец файла.

Каждая строка файла /etc/passwd содержит семь полей, разделенных запятыми:

mark:x:1001:1001:mark,,,:/home/mark:/bin/bash
[--] - [--] [--] [-----] [--------] [--------]
|    |   |    |     |         |        |
|    |   |    |     |         |        +-> 7. Login shell
|    |   |    |     |         +----------> 6. Home directory
|    |   |    |     +--------------------> 5. GECOS
|    |   |    +--------------------------> 4. GID
|    |   +-------------------------------> 3. UID
|    +-----------------------------------> 2. Password
+----------------------------------------> 1. Username
  1. Имя пользователя. Строка, которую вы вводите при входе в систему. Каждое имя пользователя должно быть уникальной строкой на машине. Максимальная длина имени пользователя ограничена 32 символами.

  2. Пароль. В старых системах Linux зашифрованный пароль пользователя хранился в /etc/passwd . В большинстве современных систем для этого поля установлено значение x , а пароль пользователя хранится в /etc/shadow .

  3. UID. Идентификатор пользователя — это номер, присвоенный каждому пользователю. Он используется операционной системой для обозначения пользователя.

  4. GID. Номер идентификатора группы пользователя, относящийся к основной группе пользователя. Когда пользователь создает файл , группа файла устанавливается в эту группу. Обычно название группы совпадает с именем пользователя. Вторичные группы пользователей перечислены в /etc/groups .

  5. GECOS или полное имя пользователя. Это поле содержит список значений, разделенных запятыми, со следующей информацией:

    • Полное имя пользователя или название приложения.

    • Номер комнаты.

    • Рабочий Номер Телефона.

    • Номер домашнего телефона.

    • Другая контактная информация.

  6. Домашний каталог. Абсолютный путь к домашнему каталогу пользователя. Он содержит файлы и конфигурации пользователя. По умолчанию домашние каталоги пользователей названы в честь имени пользователя и создаются в каталоге /home .

  7. Оболочка входа. Абсолютный путь к оболочке входа пользователя. Это оболочка, которая запускается, когда пользователь входит в систему. В большинстве дистрибутивов Linux оболочкой входа по умолчанию является Bash.

Выводы

Файл /etc/passwd отслеживает всех пользователей системы.

/etc/shadow/

/etc/shadow — это текстовый файл, содержащий информацию о паролях пользователей системы. Он принадлежит пользователю root и теневой группе и имеет права 640 .

Формат /etc/shadow

Файл /etc/shadow содержит по одной записи в каждой строке, каждая из которых представляет учетную запись пользователя. Вы можете просмотреть содержимое файла с помощью текстового редактора или такой команды, как cat :

sudo cat /etc/shadow

Обычно первая строка описывает пользователя root, за которым следуют учетные записи системного и обычного пользователя. Новые записи добавляются в конец файла.

Каждая строка файла /etc/shadow содержит девять полей, разделенных запятыми:

mark:$6$.n.:17736:0:99999:7:::
[--] [----] [---] - [---] ----
|      |      |   |   |   |||+-----------> 9. Unused
|      |      |   |   |   ||+------------> 8. Expiration date
|      |      |   |   |   |+-------------> 7. Inactivity period
|      |      |   |   |   +--------------> 6. Warning period
|      |      |   |   +------------------> 5. Maximum password age
|      |      |   +----------------------> 4. Minimum password age
|      |      +--------------------------> 3. Last password change
|      +---------------------------------> 2. Encrypted Password
+----------------------------------------> 1. Username
  1. Имя пользователя. Строка, которую вы вводите при входе в систему. Учетная запись пользователя, существующая в системе.

  2. Зашифрованный пароль. Пароль использует $type$salt$hashed формат $type$salt$hashed . $type — это алгоритм криптографического хеширования метода и может иметь следующие значения:

    • $1$ — 5 MDL

    • $2a$ — Blowfish

    • $2y$ — Eksblowfish

    • $5$ — SHA-256

    • $6$ — SHA-512

    Если в поле пароля есть звездочка ( * ) или восклицательный знак ( ! ), Пользователь не сможет войти в систему, используя аутентификацию по паролю. Другие методы входа в систему, такие как аутентификация на основе ключей или переключение на пользователя , по-прежнему разрешены.

    В старых системах Linux зашифрованный пароль пользователя хранился в /etc/passwd .

  3. Последнее изменение пароля. Это дата последней смены пароля. Число дней отсчитывается с 1 января 1970 года (дата эпохи).

  4. Минимальный возраст пароля. Количество дней, которое должно пройти, прежде чем можно будет изменить пароль пользователя. Обычно он равен нулю, что означает отсутствие минимального возраста пароля.

  5. Максимальный возраст пароля. Количество дней после смены пароля пользователя. По умолчанию этот номер установлен на 99999 .

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

  7. Период бездействия. Количество дней после истечения срока действия пароля пользователя до отключения учетной записи пользователя. Обычно это поле пусто.

  8. Дата окончания срока. Дата, когда учетная запись была отключена. Он представлен как дата эпохи.

  9. Не используется. Это поле игнорируется. Он зарезервирован для использования в будущем.

Файл /etc/shadow не следует редактировать вручную, если вы не знаете, что делаете. Всегда используйте команду, предназначенную для этой цели. Например, чтобы изменить пароль пользователя, используйте команду passwd , а чтобы изменить информацию об устаревании пароля, используйте команду chage .

Пример записи

Давайте посмотрим на следующий пример:

linuxize:$6$zHvrJMa5Y690smbQ$z5zdL...:18009:0:120:7:14::

Запись выше содержит информацию о пароле пользователя linuxize:

  • Пароль зашифрован с помощью SHA-512 (пароль усечен для лучшей читаемости).

  • Последний раз пароль менялся 23 апреля 2019 г. — 18009 .

  • Нет минимального возраста пароля.

  • Пароль необходимо менять не реже, чем каждые 120 дней.

  • Пользователь получит предупреждающее сообщение за семь дней до истечения срока действия пароля.

  • Если пользователь не попытается войти в систему через 14 дней после истечения срока действия пароля, учетная запись будет отключена.

  • Срок действия учетной записи отсутствует.

Выводы

В /etc/shadow хранятся записи о зашифрованных паролях пользователей, а также другая информация, связанная с паролями.

PreviousРедактирование файла SudoersNextПрава доступа

Last updated 1 year ago