Установка политики паролей пользователей в соответствии с их группой Linux?

1

Я хотел установить политику ограничения пароля, такую ​​как minlen, maxage, minage и т. Д.

Я знаю, как сделать это в масштабе всей системы,

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

Амит Сингх
источник
Небольшая коррекция ..
Амит Сингх
другие пользователи не должны компилировать эти ограничения.
Амит Сингх,

Ответы:

0

Вы говорите, что знаете, как применять политику паролей в масштабе всей системы, но я повторю, что делать для тех, кто этого не делает. Вы можете использовать модуль PAM pam_cracklib.so, который проверяет, соответствует ли пароль определенным критериям, прежде чем разрешить применение пароля к учетной записи. В Ubuntu пакет libpam-cracklibустанавливает этот модуль и применяет следующую строку в верхней части /etc/pam.d/common-passwordфайла, который касается изменения пароля пользователя:

password    requisite           pam_cracklib.so retry=3 minlen=8 difok=3

Различные опции могут быть переданы pam_cracklib.so, и в этом случае указывается минимальная длина 8 с требованием изменения 3 символов от старого пароля. Смотрите http://linux.die.net/man/8/pam_cracklib для подробного списка всех доступных опций.

Чтобы ограничить одну политику для определенной группы пользователей, можно использовать pam_succeed_if.soмодуль, который успешен только в том случае, если пользователь соответствует различным критериям. Например, чтобы применить политику паролей, подобную приведенной выше, но оставить пользователей в группе «sudo» освобожденными, используйте:

password    [success=1 default=ignore]  pam_succeed_if.so user ingroup sudo
password    requisite           pam_cracklib.so retry=3 minlen=8 difok=3

Это говорит PAM проверить, соответствует ли пользователь группе «sudo», а затем пропустить следующий модуль, если это удастся. В противном случае перейдите к следующему модулю, который применяет политику паролей.

Однако, если использовать модуль PAM с опцией, use_authtokподобной pam_unix.soконфигурации Ubuntu по умолчанию, с установленным pam_cracklib.so, это не будет работать правильно. Поскольку pam_unix.soот модуля ранее требовалось установить текущий пароль пользователя и желаемый пароль, в случае pam_succeed_if.soуспеха модуля passwdпроизойдет ошибка passwd: Authentication token manipulation error. То, как я обошел это, было использовать вторую pam_unix.soстроку:

password    [success=2 default=ignore]  pam_succeed_if.so user ingroup sudo
password    requisite           pam_cracklib.so retry=3 minlen=8 difok=3
password    [success=2 default=ignore]  pam_unix.so obscure use_authtok try_first_pass sha512
password    [success=1 default=ignore]  pam_unix.so obscure sha512

В этом примере, если пользователь находится в группе «sudo», управление пропускает 2 модуля до последней pam_unix.soстроки, которая не включает use_authtok. Однако в случае неудачи контроль переходит к pam_cracklib.soзависимомуpam_unix.so

Xenopathic
источник
Большая помощь, сэр, я работал ..
Амит Сингх
У меня есть еще 1 запрос, я хочу, чтобы всякий раз, когда пользователь запускает команду passwd, он отображал какой-то баннер, например, минимальная требуемая длина = 8 и т. Д.
Amit Singh
Для этого вы можете использовать pam_echo.soмодуль, который просто выводит сообщение. Например, чтобы отобразить содержимое файла, в котором подробно описывается, что такое хороший пароль, используйте password optional pam_echo.so file=/usr/share/doc/good-password.txt, поместив эту строку перед любыми другими в общем пароле.
Ксенопатический
Кроме того, если вышеуказанный ответ сработал для вас, пожалуйста, не забудьте пометить его как принятый
Xenopathic