adduser позволяет использовать слабый пароль – как это предотвратить?

Вопрос или проблема

Я хочу применить свою политику паролей как для новых пользователей, так и для существующих, но когда я запускаю adduser на Ubuntu 24, он позволяет добавить слабый пароль.

[sudo] пароль для суперпользователя: 
информация: Добавление пользователя `handsm' ...
информация: Выбор UID/GID из диапазона 1000 до 59999 ...
информация: Добавление новой группы `handsm' (1001) ...
информация: Добавление нового пользователя `handsm' (1001) с группой `handsm (1001)' ...
информация: Создание домашнего каталога `/home/handsm' ...
информация: Копирование файлов из `/etc/skel' ...
Новый пароль: 
НЕПРАВИЛЬНЫЙ ПАРОЛЬ: Пароль короче 10 символов
Повторите новый пароль: 
passwd: пароль успешно обновлен

Вы можете видеть предупреждение, и когда я повторяю слабый пароль, он все равно принимает его! Моя политика работает нормально для существующих пользователей, которые меняют свой пароль. Что я упустил? Для справки, та же проблема возникает и при использовании useradd:

$ sudo passwd test375
Новый пароль: 
НЕПРАВИЛЬНЫЙ ПАРОЛЬ: Пароль короче 10 символов
Повторите новый пароль: 
passwd: пароль успешно обновлен

Скорее всего, это происходит потому, что вы меняете пароль с помощью root, и по умолчанию root может делать все, что хочет.

Если вы su - test375 и затем попытаетесь установить свой собственный пароль, это, скорее всего, не сработает. Однако вам следует проверить /etc/pam.d/common-password и убедиться, что в нем есть эта строка:

password requisite pam_pwquality.so retry=3 

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

password requisite pam_pwquality.so retry=3 enforce_for_root

Это будет обеспечивать соблюдение политики паролей даже при использовании sudo.

Ответ или решение

Чтобы предотвратить возможность добавления слабых паролей для новых пользователей в Ubuntu 24, вам необходимо правильно настроить политику паролей с использованием PAM (Pluggable Authentication Modules). Ваша проблема связана с тем, что, когда вы используете учетную запись root для установки пароля, система может игнорировать настройки, применяемые к обычным пользователям.

Шаги для корректной настройки политики паролей

1. Проверьте конфигурацию PAM

Откройте файл /etc/pam.d/common-password с помощью текстового редактора с правами суперпользователя:

sudo nano /etc/pam.d/common-password

Убедитесь, что в этом файле присутствует следующая строка:

password requisite pam_pwquality.so retry=3

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

2. Включите обязательность проверки для пользователя root

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

password requisite pam_pwquality.so retry=3

на:

password requisite pam_pwquality.so retry=3 enforce_for_root

Это добавит требование к учетной записи superuser, что позволит предотвращать установку слабых паролей, даже когда вы работаете под root.

3. Сохраните изменения и закройте редактор

После внесения изменений в файл common-password, сохраните их, нажав Ctrl + O, затем Enter для подтверждения, и Ctrl + X для выхода из редактора.

4. Тестирование изменений

Теперь протестируйте, добавляя нового пользователя или изменяя пароль существующего пользователя. Например:

sudo adduser testuser

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

5. Проверка других параметров PAM (при необходимости)

Если вы все еще сталкиваетесь с проблемами, рассмотрите возможность проверки других файлов конфигурации PAM. Например, в etc/pam.d/login или в других файлах, отвечающих за аутентификацию пользователей. Убедитесь, что там нет конфликтующих директив, которые могут отключать или игнорировать политику проверки пароля.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...