Структура файла shadow linux

man pages section 5: File Formats

/etc/shadow is an access-restricted ASCII system file that stores users’ hashed passwords and related information. The shadow file can be used in conjunction with other shadow sources, including the NIS maps passwd.byname and passwd.byuid or password data stored on an LDAP server. Programs use the getspnam(3C) routines to access this information. Shell scripts use the getent(8) command to access this information.

Unlike the /etc/passwd file, /etc/shadow does not have general read permission.

The fields for each user entry are separated by colons. Each user is separated from the next by a newline. Each entry in the shadow file is a single line of the form:

username:password :lastchg:min: max:warn:inactive: expire:flag

The fields are defined as follows:

A cryptographically hashed password for the user generated by crypt(3C) or pwhash(1), a lock string to indicate that the login is not accessible, or no string, which shows that there is no password for the login.

The lock string is defined as *LK* in the first four characters of the password field if the account was manually locked, or *AL* if the account was automatically locked due to the number of authentication failures reaching the configured maximum allowed. See policy.conf(5) and user_attr(5).

The number of days between January 1, 1970, and the date that the password was last modified. The lastchg value is a decimal number, as interpreted by strtol(3C).

The minimum number of days required between password changes. This field must be set to 0 or above to enable password aging.

The maximum number of days the password is valid.

The number of days before password expires that the user is warned.

The number of days of inactivity allowed for that user. This is counted on a per-machine basis; the information about the last login is taken from the machine’s lastlog file.

An absolute date expressed as the number of days since the UNIX Epoch (January 1, 1970). When this number is reached the login can no longer be used. For example, an expire value of 17410 specifies a login expiration of September 1, 2017.

Reserved. May be set to arbitrary values. Traditionally, the low order for bits are a failed login count.

The bits in the remainder may or may not be zero. They may be used at any time for any other purposes.

A value of −1 for min , max , or warn disables password aging.

Читайте также:  Рейтинг популярности дистрибутивов linux

The encrypted password consists of at most CRYPT_MAXCIPHERTEXTLEN characters chosen from a 64-character alphabet (., /, 0–9, A–Z, a–z). Two additional special characters: the dollar sign ($) and the comma (,), can also be used and are defined in crypt(3C).

To make system administration manageable, /etc/shadow entries should appear in exactly the same order as /etc/passwd entries.

Values for the various time-related fields are interpreted as Coordinated Universal Time (UTC).

Authorizations

The authorizations, as defined in user_attr(5), which are required to modify the various shadow fields are as follows:

Источник

Структура файла shadow linux

НАЗВАНИЕ

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 platform mobile phone

Источник

Понимание файла /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 дней после истечения срока действия пароля, учетная запись будет отключена.
  • Нет срока действия аккаунта.
Читайте также:  Canon canoscan lide 300 linux driver

Вывод

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

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

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

Источник

/etc/shadow Структура файла и формат записей — Пароли в linux

vedro-compota's picture

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

  • В нем также содержится учетная информация, которая отсутствует в файле /etc/passwd.
  • При использовании скрытых паролей соответствующие поля в файле /etc/passwd всегда содержат символ «х».
  • Оба файла (/etc/shadow и /etc/passwd) необходимо сопровождать независимо друг от друга (или использовать команду useradd для автоматического управления файлами).
  • Как и /etc/passwd, файл /etc/shadow содержит одну строку для каждого пользователя.

Формат записей /etc/shadow

Каждая строка состоит из 9 полей, разделенных двоеточиями:

  1. Регистрационное имя. Регистрационное имя берется из файла /etc/passwd. Оно связывает записи файлов /etc/passwd и /etc/shadow.
  2. Зашифрованный пароль.
  3. Дата последнего изменения пароля. Данное поле обычно заполняется командой passwd.
  4. Минимальное число дней между изменениями пароля. В данном поле задается количество дней, спустя которые пользователь сможет снова изменить пароль.
  5. Максимальное число дней между изменениями пароля. Максимальное время жизни пароля определяется суммой значений данного и седьмого полей.
  6. Количество дней до истечения срока действия пароля, когда выдается предупреждение.
    В данном поле задано количество дней, оставшихся до момента устаревания пароля, когда программа login должна предупреждать пользователя о необходимости изменить пароль.
  7. Количество дней по истечении срока действия пароля, когда учетная запись отключается.
  8. Срок действия учетной записи — по окончанию этого срока пользователь не сможет зарегистрироваться в системе, пока администратор не сбросит значение поля. Если поле содержит пустое значение, учетная запись всегда будет активной.
  9. Зарезервированное поле, которое в настоящее время всегда пустое.

Пример записи в /etc/shadow

Типовой вид записи пользователя в файле /etc/shadow имеет следующий вид:

aivanov. $l$bNurEkCt$rDah2BOTfxzndRW5XKWFCl:14260:0:14:7::14303:
  • Поля дат в файле /etc/shadow задаются в формате числа дней с 1-го января 1970 года, поэтому данные поля лучше задавать с помощью команд usermod или chage.
  • С помощью программы pwconv можно согласовать содержимое файлов /etc/shadow и /etc/passwd.
  • Большинство параметров файла /etc/shadow берется из стандартных установок файла /etc/login.defs, поэтому для упрощения задания данных параметров, следует определить их по умолчанию в данном файле.

Источник

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