Linux shadow and shadow

Linux shadow and shadow

НАЗВАНИЕ

shadow - файл теневых паролей

ОПИСАНИЕ

Файл shadow содержит шифрованные пароли учётных записей пользователей и необязательную информацию об устаревании пароля. Этот файл должен быть недоступен обычному пользователю, если нужно обеспечить безопасность паролей. Каждая строка файла содержит 9 полей, разделённых двоеточиями («:»), расположенных в следующем порядке: имя пользователя для входа в систему Должно содержать правильное имя учётной записи, которая существует в системе. шифрованный пароль Подробней о пароле смотрите в справочной странице crypt(3). Если поле пароля содержит строку, которая не удовлетворяет требованиям crypt(3), например содержит ! или *, то пользователь не сможет использовать этот пароль unix для входа (но может войти в систему под другими паролями). Это поле может быть пустым, то есть для указанной учётной записи не требуется аутентификация по паролю. Однако, некоторые приложения, читающие файл /etc/shadow, могут вообще отказать в доступе, если поле пароля пусто. Поле пароля может начинаться с восклицательного знака, означающего, что пароль заблокирован. Оставшиеся символы в строке представляют поле пароля до его блокировки. дата последней смены пароля Дата последней смены пароля в днях начиная с 1 января 1970 года. Значение 0 имеет специальное предназначение: оно указывает, что пользователь должен сменить пароль в следующий раз при входе в систему. Пустое значение обозначает, что проверка устаревания пароля выключена. минимальный срок действия пароля Минимальный срок действия пароля в днях, которые пользователь должен ждать, чтобы поменять пароль. Пустое значение поля и 0 отключают минимальный срок действия пароля. максимальный срок действия пароля Максимальный срок действия пароля в днях, после которого пользователь должен изменить пароль. По прошествии этого количества дней пароль может быть ещё действительным. Пользователя нужно попросить изменить пароль при следующем входе. Пустое значение поля означает, что нет максимального срока действия пароля, нет периода предупреждения о пароле и нет периода неактивности пароля (смотрите далее). Если максимальный срок действия пароля меньше чем минимальный срок действия пароля, то пользователь не сможет изменить свой пароль. период предупреждения о пароле Количество дней до устаревания пароля (смотрите максимальный срок действия пароля) во время которых пользователю выдаётся предупреждение. Пустое значение поля и 0 отключают период предупреждения о пароле. период неактивности пароля Количество дней после устаревания пароля (смотрите максимальный срок действия пароля) во время которых пароль всё ещё принимается (и пользователь должен обновить свой пароль при следующем входе). После устаревания пароля и истечения этого периода устаревания вход с текущим паролем становится невозможным. Пользователь должен обратиться к администратору. Пустое значение поля означает, что период неактивности отсутствует. дата истечения срока действия учётной записи Дата истечения срока действия учётной записи, указывается в днях начиная с 1 января 1970 года. Заметим, что устаревание учётной записи отличается от устаревания пароля. При устаревании учётной записи пользователь не сможет войти в систему. При устаревании пароля пользователь не может войти в систему по этому паролю. Пустое значение обозначает, что учётная запись никогда не устаревает. Значение 0 не должно использоваться, так как это может рассматриваться как неустаревающая учётная запись или что запись устарела 1 января 1970 года. зарезервированное поле Это поле зарезервировано для использования в будущем.

ФАЙЛЫ

/etc/passwd содержит информацию о пользователях /etc/shadow содержит защищаемую информацию о пользователях /etc/shadow- резервная копия файла /etc/shadow Заметим, что этот файл используется программами из комплекта утилит shadow, но не всеми инструментами управления пользователями и паролями.

СМОТРИТЕ ТАКЖЕ

chage(1), login(1), passwd(1), passwd(5), pwck(8), pwconv(8), pwunconv(8), su(1), sulogin(8).

© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.

Читайте также:  Контур экстерн linux mint

Источник

Понимание файла /etc/shadow

Понимание файла /etc/shadow

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

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

Формат /etc/shadow

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

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

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

mark:$6$.n.:17736:0:99999:7. [--] [----] [---] - [---] ---- | | | | | |||+-----------> 9. Неиспользованный | | | | | ||+------------> 8. Срок годности | | | | | |+-------------> 7. Период бездействия | | | | | +--------------> 6. Период предупреждения | | | | +------------------> 5. Максимальный возраст пароля | | | +----------------------> 4. Минимальный возраст пароля | | +--------------------------> 3. Последнее изменение пароля | +---------------------------------> 2. Зашифрованный пароль +----------------------------------------> 1. Имя пользователя
  1. Имя пользователя. Строка, которую вы вводите при входе в систему. Учетная запись пользователя, которая существует в системе.
  2. Зашифрованный пароль. Пароль использует формату $type$salt$hashed. $type является методом криптографического алгоритма хеширования и может иметь следующие значения:
    • $1$ — MD5
    • $2a$ — Blowfish
    • $2y$ — Eksblowfish
    • $5$ — SHA-256
    • $6$ — SHA-512

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

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

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

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

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

  • Пароль зашифрован с помощью SHA-512 (пароль сокращен для лучшей читаемости).
  • Последний раз пароль изменялся 23 апреля 2019 года 18009.
  • Минимального срока действия пароля нет.
  • Пароль необходимо менять как минимум каждые 120 дней.
  • Пользователь получит предупреждающее сообщение за семь дней до истечения срока действия пароля.
  • Если пользователь не попытается войти в систему через 14 дней после истечения срока действия пароля, учетная запись будет отключена.
  • Нет срока действия аккаунта.
Читайте также:  Hex редактор linux debian

Вывод

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

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Управление учетными записями в Linux. Часть 1. Хранение учетных данных

Файлы в операционках семейства Linux можно назвать основой всего. Для Linux все есть файл. Другими словами, файлы это не только объекты для хранения информации, но и устройства, тоннели, сокеты и многое другое. При этом, нам необходимы разграничивать доступ к тем или иным файлам в зависимости от прав пользователя, обращающегося к файлу.

У каждого файла в Linux системах есть владелец (user). И как мы уже говорили, у каждого пользователя есть уникальный идентификатор – user ID. Еще есть группы, то есть объединения пользователей по тому или иному признаку. Каждый пользователь должен состоять минимум в одной группе, но есть возможность добавить пользователя во множество групп. Так же, как и у пользователя, группа имеет уникальный идентификатор группы называемый GID – group ID.

Где хранятся учетки

Информацию об учетных записях ОС Linux хранит в файле /etc /passwd .
Он содержит следующее:

Где:
User ID — логин;
Password – наличие пароля;
UID — идентификатор пользователя;
GID — идентификатор группы по умолчанию;
User Info – вспомогательная информация о пользователе (полное имя, контакты и т.д.)
Home Dir — начальный (он же домашний) каталог;
Shell — регистрационная оболочка, или shell.

Когда-то, на заре становления Линукс, в файле /etc/passwd хранились также хэши паролей от учетных записей пользователей. Но тогда эти данные становились легкой добычей злоумышленников, так как любой пользователь мог прочитать этот файл и скопировать хэши для последующей расшифровки.

В качестве проверки можно под учеткой обычного пользователя (не root) ввести cat /etc/passwd и вы получите содержимое файла.

Для хранения хэшей паролей в современных Линукс используется файл /etc/shadow .

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

Файл /etc/shadow имеет следующую структуру:

Читайте также:  Ivms 4200 linux debian

loginID – имя пользователя;
password – пароль в зашифрованном виде;
lastchg – количество дней c 1.01.1970, когда пароль был изменен в последний раз;
min – минимальное число дней между сменами пароля;
max – максимальное число дней, в течении которых пароль будет валиден;
warn – количество дней за которые пользователь будет предупрежден об истечении пароля;
inactive – количество дней, в течении которых пользователь может быть неактивен перед блокировкой;
expire – дата, когда истекает срок пользовательской учетной записи.

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

В случае, если хакер получил права обычного пользователя, например www, он может попытаться повысить привилегии для того, чтобы прочитать файл. Также, если пользователь может загружать любые docker-контейнеры, то при определенных условиях он может получить права на чтение /etc/shadow. Об этом мы подробно поговорим в третьей статье.

Быстрый перебор

Не углубляясь в тему взлома (все-таки эта статья больше про администрирование Linux) кратко опишем дальнейшие действия злоумышленника после получения доступа к хэшам паролей.

Перебор паролей даже на достаточно мощной машине процесс довольно продолжительный. И для того, чтобы его максимально ускорить существуют наборы сгенерированных заранее хэшей паролей, например все комбинации из цифр длиной до 10 символов, маленьких латинских букв до 10 символов и т.д. Более сложные комбинации тоже можно получить готовыми, но это уже будет стоить денег. Тем не менее взломщик может сэкономить много времени используя готовые хэши.

И еще немного… соли

Для решения проблемы использования готовых хэшей разработчики ОС Linux стали использовать соль (salt), то есть набор из нескольких дополнительных байт, который добавлялись к паролю перед хэшированием.

Обычно формат пароля, хранимого в /etc/shadow представляет собой:
$id $salt $hashed, где $id — алгоритм, которым шифруется пароль ($1 is MD5, $2a is Blowfish, $2y is Blowfish, $5 is SHA-256, $6 is SHA-512).

Таким образом, использование соли для шифрования паролей осложняет перебор, так как не позволяет использовать готовые таблицы.

Заключение

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

Вместо заключения хочу пригласить вас на бесплатные демоуроки по Linux от OTUS. Зарегистрироваться на уроки можно по ссылкам ниже:

Источник

Оцените статью
Adblock
detector