4 Идентификация и аутентификация

4.1 Введение

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

4.2 Добавление нового пользователя

Для добавления нового пользователя используется утилита useradd. Она позволяет добавить учетную запись нового пользователя. Режимы ее работы и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты useradd и их значения

Опция

Значение

-c, --comment

Любая текстовая строка. Используется как поле для имени и фамилии пользователя, длина этого поля не должна превосходить 128 символов.

-b, --base-dir

Базовый системный каталог по умолчанию, если не указан другой каталог. Базовый каталог объединяется с именем учётной записи для определения домашнего каталога.

-d, --home

Для создаваемого пользователя в качестве начального каталога будет использован базовый каталог. По умолчанию это значение получается объединением имени пользователя с базовым каталогом и используется как имя домашнего каталога.

-d, --home-dir

Задать домашний каталог нового пользователя. Если данная опция не используется, то в качестве домашнего каталога выбирается каталог типа /базовый_системный_каталог/имя_пользователя.

-D, --defaults

Вывести значения стандартных опций.

-e, --expiredate

Дата окончания срока действия учётной записи пользователя. Задаётся в формате ГГГГ-ММ-ДД.

--f, --inactive

Число дней, которые должны пройти после окончания срока действия пароля, чтобы учётная запись заблокировалась. Если указано значение 0, то учётная запись блокируется сразу после окончания срока действия пароля, а при значении -1 данная возможность не используется. По умолчанию используется значение -1.

-g, --gid

Название группы нового пользователя или её идентификационный номер. Указываемое название группы или её номер должны существовать в системе.

-G, --groups

Список дополнительных групп, в которых числится пользователь. Перечисление групп осуществляется через запятую без пробелов. На указанные группы действуют те же ограничения, что и для группы, указанной в опции -g.

-m, --create-home

Создает начальный домашний каталог нового пользователя, если он ещё не существует. Если каталог уже существует, добавляемый пользователь должен иметь права на доступ к указанному каталогу.

-M, --no-create-home

Позволяет не создавать домашний каталог нового пользователя.

-K, --key

Используется для изменения значений по умолчанию для параметров, хранимых в конфигурационном файле /etc/login.def.

-N, --no-user-group

Позволяет добавить нового пользователя в группу, указанную в опции -g или заданную по умолчанию в конфигурационном файле /etc/default/useradd, не создавая группу, название которой совпадает с именем нового пользователя. Если опции -g, -N, -U не указаны, то настройки групп по умолчанию определяются в конфигурационном файле /etc/login.defs.

-o, --non-unique

Позволяет создать учётную запись с уже имеющимся, не уникальным идентификатором.

-p, --password

Позволяет задать новый пароль для учетной записи.

-r, --system

Позволяет создать системную учётную запись. По умолчанию для данной категории учетных записей домашний каталог не создаётся вне зависимости от значения соответствующего параметра конфигурационного файла /etc/login.defs. Для создания домашнего каталога системного пользователя необходимо вместе с опцией -r задать опцию -m.

-s, --shell

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

-u, --uid

Позволяет задать идентификационный номер (численное неотрицательное значение идентификатора) пользователя. Это значение должно быть уникальным, если не задействована опция -o.

U, --user-group

Позволяет создать группу, название которой совпадает с именем пользователя, присоединив данного пользователя к этой группе.

-h, --help

Показать краткую справку об утилите.

Пример: создадим пользователя с именем user и зададим для него основную группу users и две дополнительные группы ftp и developers, к которым он будет приписан.

Для этого выполним следующую команду:

useradd -g users -G ftp,developers user

4.3 Изменение уже имеющихся пользовательских записей

Для изменения уже имеющихся пользовательских записей используется утилита usermod. Она позволяет изменить данные существующей учетной записи пользователя. Режимы ее работы и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты usermod и их значения

Опция

Значение

-a, --append

Добавить пользователя в дополнительную группу. Следует использовать только вместе с параметром -G.

-c, --comment

Новое значение поля комментария.

d, --home

Новый домашний каталог учетной записи. Если указан параметр -m, то содержимое текущего домашнего каталога будет перемещено в новый домашний каталог, который будет создан, если он ещё не существует.

-e, --expiredate

Установить дату окончания срока действия учетной записи в формате ГГГГ-ММ-ДД.

-f, --inactive

Установить пароль после окончания срока действия учетной записи в INACTIVE. Если указано значение 0, то учётная запись блокируется сразу после окончания срока действия пароля, а при значении -1 данная возможность не используется. По умолчанию используется значение -1.

-g, --gid

Принудительно назначить первичную группу.

-G, --groups

Список дополнительных групп.

-l, --login

Новое значение учетной записи.

-L, --lock

Заблокировать пароль пользователя. Это делается помещением символа ! в начало шифрованного пароля, что приводит к его блокировке. Не следует использовать этот параметр вместе с -p или -U.

-m, --move-home

Переместить содержимое домашнего каталога пользователя в новое место. Если новый домашний каталог не существует, то он создаётся автоматически. Данная опция используется только вместе с опцией -d.

-o, --non-unique.

При использовании с параметром -u этот параметр позволяет указывать не уникальный числовой идентификатор пользователя.

-p, --password

Задать новый пароль для учетной записи.

-s, --shell

Задать новую оболочку для учетной записи.

-u, --uid

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

-U, --unlock

Разблокировать учетную запись.

Пример: изменим срок действия учетной записи пользователя с идентификатором user6.

Для этого выполним следующую команду:

usermod -e 2020-05-01 user6

где 2020-05-01 — дата истечения срока действия учетной записи в формате ГГГГ-ММ-ДД.

Пример: изменим идентификатор (значение учётной записи) пользователя с user6 на user7.

Для этого выполним следующую команду:

usermod -l user7 user6

4.4 Удаление пользователей

Для удаления пользователей используется утилита userdel. Она позволяет удалить существующую учетную запись пользователя. Режимы ее работы и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты userdel и их значения

Опция

Значение

-f, --force

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

-r, --remove

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

-n

Задает, сколько месяцев идентификатор пользователя должен устаревать перед повторным использованием. Задайте -1, чтобы указать, что идентификатор пользователя никогда не должен использоваться повторно. Задайте 0, чтобы указать, что идентификатор пользователя можно немедленно использовать повторно. Если опция -n не задана, то идентификатор будет устаревать стандартное количество месяцев перед повторным использованием.

-h, --help

Показать краткую справку.

Пример: удалим пользователя с идентификатором user7.

Для этого выполним следующую команду:

userdel -r user7

4.5 Добавление группы пользователей

Для добавления группы пользователей используется утилита groupadd. Режимы ее работы и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты groupadd и их значения

Опция

Значение

-f

Вернуть статус успешного выполнения, если группа уже существует. Если используется вместе с параметром -g и указанный идентификатор группы уже существует, то выбирается другой уникальный идентификатор группы, то есть параметр -g игнорируется.

-g

Числовое значение идентификатора группы. Значение должно быть уникальным, если не задан параметр -o. Значение должно быть не отрицательным. По умолчанию берётся значение больше 999 и больше идентификатора любой другой группы. Значения от 0 и до 999 обычно зарезервированы под системные группы.

-K

Изменить значения по умолчанию для параметров, которые хранятся в конфигурационном файле /etc/login.defsм.

-o

Разрешить добавление группы с не уникальным идентификатором.

-r, --system

Создать системную группу.

-h, --help

Показать краткую справку.

Пример: создадим группу group2 с числовым значением идентификатора 8285.

Для этого выполним следующую команду:

groupadd group2 -g 8285

4.6 Изменение существующей группы пользователей

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

Опции утилиты groupmod и их значения

Опция

Значение

-g, --gid

Изменить идентификатор группы.

-n, --new-name

Изменить имя группы.

-o, --non-unique

Позволяет использовать не уникальный идентификатор группы.

-p, --password

Изменить пароль.

-h, --help

Показать краткую справку.

Пример: изменим идентификатор группы пользователей users на ftp.

Для этого выполним следующую команду:

groupmod -g ftp users

4.7 Удаление существующей группы пользователей

Для удаления существующей группы пользователей используется утилита groupdel. Утилита позволяет удалить определение группы из системы путем удаления записи о соответствующей группе из файла /etc/group. Однако она не удаляет идентификатор группы из файла паролей. Удаленный идентификатор действует для всех файлов и каталогов, которые его имели.

Пример: удалим группу с именем group3.

Для этого выполним следующую команду:

groupdel group3

4.8 Создание и изменение пароля пользователя

Для создания и изменения пароля пользователя (в том числе для блокировки учетной записи пользователя) используется утилита passwd. Обычный пользователь может изменить пароль только своей учётной записи, суперпользователь root может изменить пароль любой учётной записи.

При изменении пароля проверяется информация об устаревании пароля, чтобы убедиться, что пользователю разрешено изменять пароль в настоящий момент. Если выяснится, что не разрешено, то утилита не производит изменение пароля и завершает работу.

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

Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты passwd и их значения

Опция

Значение

-а, --аll

Эту опцию можно использовать только вместе с -S для вывода статуса всех пользователей.

-d, --delete

Удалить пароль пользователя (сделать его пустым). Это быстрый способ заблокировать пароль учётной записи.

-e, --expire

Немедленно сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.

-i, --inactive

Эта опция используется для блокировки учётной записи по прошествии заданного числа дней после устаревания пароля. То есть если пароль устарел и прошло больше дней, чем указано, то пользователь больше не сможет использовать свою учётную запись.

-l, --lock

Заблокировать указанную учётную запись. Эта опция блокирует учётную запись путем изменения значения пароля на такое, которое не может быть ранее указанным зашифрованным паролем.

-m, --mindays

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

-S, --status

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

-u, --unlock

Разблокировать указанную учётную запись. Этот параметр активирует учётную запись путем изменения пароля на прежнее значение, которое было перед использованием параметра -l.

-w, --warndays

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

-x, --maxdays

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

-h, --help

Показать краткую справку.

Пример: зададим пароль пользователю user4. Работа команды passwd:

[root@msvsphere ~]# passwd user4
Изменяется пароль пользователя user4.
Новый пароль :
Повторите ввод нового пароля :
passwd: все данные аутентификации успешно обновлены.
[root@msvsphere ~]#

Пример: посмотрим состояние учетной записи user4. Работа команды passwd:

[root@msvsphere /]# passwd -S user4
user4 PS 2023-07-04 0 99999 7 -1 (Пароль задан, шифр SHA512.)
[root@msvsphere /]#

Где:

  • user4 — имя пользователя.

  • PS — статус пароля.

  • 2023-07-04 — отображает время последнего изменения пароля.

  • 0 и 99999 — минимальный и максимальный срок действия пароля.

  • 7 — срок вывода предупреждения.

  • -1 — срок деактивации пароля.

4.9 Изменение срока действия учётной записи и пароля пользователя

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

Командой сhage может пользоваться только суперпользователь, за исключением использования её с параметром -l, который позволяет непривилегированным пользователям определить время, когда истекает их личный пароль или учетная запись.

Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты chage и их значения

Опция

Значение

-m

Меняет значение mindays на минимальное число дней между сменой пароля. Значение 0 в этом поле обозначает, что пользователь может изменять свой пароль когда угодно.

-M

Меняет значение maxdays на максимальное число дней, в течение которых пароль будет действителен. Когда сумма maxdays и lastday меньше, чем текущий день, у пользователя будет запрошен новый пароль до начала работы в системе.

-d

Меняет значение lastday на день, когда пароль был изменен последний раз (число дней с 1 января 1970). Дата также может быть указана в формате ГГГГ-ММ-ДД.

-E

Используется для задания даты, с которой учетная запись пользователя станет недоступной. Дата также может быть указана в формате ГГГГ-ММ-ДД.

-I

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

-W

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

-l

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

Пример: просмотрим текущую информацию о дате истечения срока действия пароля для пользователя user4. Работа команды chage:

[root@msvsphere ~]# chage -l user4
Последний раз пароль был изменён: мар 12, 2023
Срок действия пароля истекает: никогда
Пароль будет деактивирован через: никогда
Срок действия учётной записи истекает: никогда
Минимальное количество дней между сменой пароля: 0
Максимальное количество дней между сменой пароля: 99999
Количество дней с предупреждением перед деактивацией пароля: 7
[root@msvsphere ~]#

4.10 Получение сведений о пользователе

Утилита id позволяет получить сведения об указанном пользователе или о текущем пользователе, запустившем данную утилиту, если он не указал явно имя пользователя.

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

Режимы работы утилиты и выполняемые функции задаются набором опций, перечисленных в таблице:

Опции утилиты id и их значения

Опция

Значение

-g, --group

Выводит только подлинный числовой идентификатор групп.

-G, --groups

Выводит все подлинные числовые идентификаторы групп, в которых состоит пользователь.

-n, --name

Выводит действующие имена пользователей или групп.

-r, --real

Выводит подлинные числовые идентификаторы пользователей или групп.

-u, --user

Выводит только подлинный числовой идентификатор пользователя.

--version

Выводит информацию о версии утилиты и завершает работу.

--help

Выводит справку по этой утилите и завершает работу.

Пример: выведем сведения о текущем пользователе user. Работа команды id:

[user@msvsphere ~]$ id
uid=1000(user) gid=1000(user) группы=1000(user),100(users) контекст=user_u:user_r:user_t:s0

4.11 Конфигурационный файл /etc/login.defs

Конфигурационный файл /etc/login.defs позволяет задавать параметры, определяющие использование пользователями своих паролей.

Фрагмент файла

Фрагмент конфигурационного файла /etc/login.defs

Параметры перечислены в таблице:

Параметры конфигурационного файла /etc/login.defs и их описание

Параметр

Описание

PASS_MAX_DAYS

Определяет максимальный срок действия пароля, т.е. максимальное число дней, в течение которых действие пароля сохраняется. По истечении этого срока запускается процесс принудительной смены пароля. Если значение параметра не задано, то есть параметр закомментирован символом # или ему присвоено значение -1, то данное ограничение не установлено (отменяется).

PASS_MIN_DAYS

определяет минимальный срок между изменениями пароля, т.е. минимальное число дней между двумя последовательными изменениями пароля. Если значение параметра не задано, то есть параметр закомментирован символом # или ему присвоено значение -1, то данное ограничение не установлено (отменяется).

PASS_MIN_LEN

Определяет минимальную допустимую длину задаваемого пароля.

PASS_WARN_AGE

Определяет, за сколько дней до истечения срока действия пароля начнётся вывод предупреждения о необходимости его смены. Если значение параметра не задано, то есть параметр закомментирован символом # или ему присвоено значение -1, то данное ограничение не установлено (отменяется). Если значение параметра 0, то предупреждение о необходимости смены пароля будет выведено в день его устаревания.

Пример: зададим максимальное количество дней действия пароля, равное 30 суткам:

[root@msvsphere ~]# cat /etc/login.defs | grep PASS_MAX_DAYS
# PASS_MAX_DAYS  Maximum number of days a password may be used.
PASS_MAX_DAYS 30
[root@msvsphere ~]#

4.12 Конфигурационный файл /etc/pam.d/system-auth

Конфигурационный файл /etc/pam.d/system-auth позволяет задавать настройки подключаемых модулей аутентификации.

Фрагмент файла

Фрагмент конфигурационного файла /etc/pam.d/system-auth

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

Синтаксис правила:

type control module-path [module-arguments]

Поле type задаёт тип вызываемого модуля и может принимать одно из четырех допустимых значений:

  • auth — предназначен для аутентификации пользователя путём запроса и проверки его пароля;

  • account — используется для контроля доступа к сервису/приложению. Например, может быть произведён запрос о том, не истёк ли срок действия аккаунта пользователя, разрешено ли пользователю работать с определённым сервисом в определённое время, хватает ли системных ресурсов для работы;

  • password — применятся для установки/изменения паролей;

  • session — управляет действиями пользователя в рамках активной сессии после его успешной аутентификации в системе.

Поле control задаёт действие, которое нужно выполнить после вызова модуля. Доступно несколько действий:

  • required — модуль должен вернуть положительный ответ. Если он возвращает отрицательный ответ, то пользователь будет уведомлен об этом только после того, как все остальные модули данного типа будут проверены;

  • requisite — требует от модуля положительный ответ. В случае получения отрицательного ответа последовательная проверка выполнения остальных правил моментально прекращается и пользователь получает сообщение об ошибке аутентификации;

  • sufficient — в случае, если ни один из модулей с действием required или sufficient, расположенных перед текущим, не вернул отрицательного ответа, текущий модуль вернёт положительный ответ и все последующие модули будут проигнорированы;

  • optional — результат проверки модуля важен только в том случае, если действие является единственным для данного модуля;

  • include — предназначается для добавления строк заданного типа из других файлов конфигурации из каталога /etc/pam.d/ в файл конфигурации /etc/pam.d/system-auth. Название файла указывается в качестве аргумента действия.

Поле module-path задаёт путь к вызываемому модулю.

Поле module-arguments — дополнительные необязательные параметры модуля, необходимые для определения действий некоторых отдельных модулей в случае успешной авторизации. Так, если в конфигурационном файле найти строку, содержащую pam_pwquality.so, и добавить в нее minlen=8, то будет установлена минимальная длина пароля, равная 8-ми символам.

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

Для этого внесем в файл /etc/pam.d/system-auth следующие изменения:

  1. Сначала допишем в секцию auth строку auth required pam_tally2.so deny=2 onerr=fail, т.е. подключим модуль pam_tally2 и установим блокировку пользователя после двух (значение параметра deny) неудачных попыток входа.

  2. Затем в секции account добавим строку account required pam_tally2.so и закомментируем строки вида auth requisite pam_succeed_if.so uid >= 1000 quiet и auth required pam_deny.so.

  3. Потом строку auth sufficient pam_unix.so nullok try_first_pass заменим на auth required pam_unix.so nullok try_first_pass.

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

[user@msvsphere ~]$ su user2
Пароль:
su Сбой при проверке подлинности
[user@msvsphere ~]$ su user2
Пароль:
su Сбой при проверке подлинности
[user@msvsphere ~]$ su user2
Пароль:
Учетная запись заблокирована как следствие неудачных попыток входа (всего 3)
su Сбой при проверке подлинности
[user@msvsphere ~]$ su user2
Пароль:
Учетная запись заблокирована как следствие неудачных попыток входа (всего 4)
su Сбой при проверке подлинности
[user@msvsphere ~]$

Пример: В качестве другого примера настроим проверку паролей на сложность подбора через pam_cracklib.

  1. Для этого добавим или изменим следующую строку:

password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=6 dcredit=-2 ucredit=-3 lcredit=-2 ocredit=-1

Это значит следующее:

  • после трех неуспешных попыток (retry=3) модуль вернет ошибку;

  • минимальная длина для пароля – 6 символов (minlen=6);

  • минимальное количество цифр – 2 (dcredit=-2);

  • минимальное количество символов верхнего регистра – 3 (ucredit=-3);

  • минимальное количество символов нижнего регистра – 2 (lcredit=-2);

  • минимальное количество других символов – 1 (ocredit=-1).

  1. Удалим или закомментируем следующую строку:

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

Результат

  • Выполним команду passwd для смены пароля пользователя user2.

  • Зададим пароль из трех символов и увидим сообщение «НЕУДАЧНЫЙ ПАРОЛЬ: слишком короткий».

  • Зададим пароль из четырех символов, система выдаст сообщение «НЕУДАЧНЫЙ ПАРОЛЬ: короткий».

  • Зададим пароль из шести символов (букв и цифр), в результате чего получим сообщение «НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой».

  • После трех неуспешных попыток модуль вернет ошибку.

[user2@msvsphere user]$ passwd
Изменяется пароль пользователя user2.
Смена пароля для user2.
(текущий) пароль Unix:
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: слишком короткий
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: короткий
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
passwd: Использовано максимальное число попыток, заданное для службы
  • Зададим пароль достаточной длины из одних цифр и получим сообщение «НЕУДАЧНЫЙ ПАРОЛЬ: не содержит достаточное число РАЗЛИЧНЫХ символов».

  • Зададим пароль достаточной длины, содержащий все указанные требования, кроме включения в него отличных от алфавита и цифр символов. Например, 2QyfMOb4. Получим сообщение «НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой».

[user2@msvsphere user]$ passwd
Изменяется пароль пользователя user2.
Смена пароля для user2.
(текущий) пароль Unix:
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: не содержит достаточное число РАЗЛИЧНЫХ символов
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: короткий
Новый пароль:
НЕУДАЧНЫЙ ПАРОЛЬ: слишком простой
passwd: Использовано максимальное число попыток, заданное для службы
  • Зададим пароль, соблюдая все установленные требования. Например, 2QyfM*Ob4. Пароль будет успешно задан (см. листинг).

[user2@msvsphere user]$ passwd
Изменяется пароль пользователя user2.
Смена пароля для user2.
(текущий) пароль Unix:
Новый пароль:
Повторите ввод нового пароля:
passwd: Все данные аутентификации успешно обновлены.

4.13 Конфигурационный файл /etc/issue

Конфигурационный файл /etc/issue позволяет задать текстовое содержание уведомления пользователю перед началом его идентификации и аутентификации для входа в систему. Например, с предупреждением о том, что в ней реализованы меры защиты информации и о необходимости соблюдения соответствующих правил обработки данных. Традиционно в конфигурационном файле присутствуют опции выдачи сведений об операционной системе и ядре. Дополнительно можно добавить опции выдачи текущих даты и времени, количества работающих пользователей и некоторых других сведений.

4.14 Конфигурационный файл /etc/shadow

Конфигурационный файл /etc/shadow содержит сведения об учетных записях и паролях пользователей в виде строк со следующей структурой:

username:$id$salt$hashed:lastchanged:min:max:warn:inactive:expire

Структура файла:

  • username – имя пользователя:

  • id – алгоритм шифрования: 1 (алгоритм MD5), 5 (SHA-256), 6 (SHA-512);

  • salt – «соль», добавляемая к паролю строка из 10-20 случайных символов;

  • hashed – зашифрованный пароль;

  • lastchanged – дата последнего изменения пароля;

  • min – минимальное число дней между двумя последовательными сменами паролей;

  • max – срок действия пароля, т.е. максимальное число дней, в течение которых пароль будет активен;

  • warn – за какое количество дней до срока истечения действия пароля пользователь будет уведомлен о том, что его необходимо сменить;

  • inactive – количество дней после истечения срока действия пароля, спустя которое его учётная запись блокируется;

  • expire – число дней, прошедших с момента блокирования учетной записи.

Если после имени пользователя username вместо $id$salt$hashed стоит символ * либо последовательность из двух символов !!, то это означает, что попытки входа в систему от имени данного пользователя заблокированы.