
Представьте себе безумного администратора сервера Debian, который для начала добавил пользователей со слабым паролем и намекнул, что им придется сменить его при первом входе в систему.
Теперь, когда он использует только безопасные пароли, есть ли способ предложить каждому пользователю со слабым паролем сменить его на более безопасный пароль, содержащий не менее 12 символов, цифр, специальных символов,... и при этом не беспокоить пользователей, у которых уже есть безопасный пароль?
решение1
Двухэтапное решение:
Не позволяйте пользователям создавать слабые пароли. Частично это можно сделать с помощью pam_unix.so со строкой, как в вашей конфигурации pam (предположительно в
/etc/pam.d/common-password
или подобной) (obscure и minlen=9 немного помогут):пароль [успех=1 по умолчанию=игнорировать] pam_unix.so неясный minlen=9 sha512
или установить более сложную программу проверки паролей в PAM (например, pam-cracklib, которая проверяет надежность пароля, может проверять пароли по словарям и т. д. всякий раз, когда пользователь пытается изменить свой пароль).Если вы ранее разрешали слабые пароли, требуйте смены всех паролей при следующем входе в систему. Посмотрите на ,
man shadow
чтобы узнать, как установить пароль, установив дату последнего изменения пароля на0
, при условии, что вам не нужно редактировать/etc/shadow
напрямую — вы можете сделать это с помощьюsudo chage -d 0 $USERNAME
(или использоватьsudo passwd -e $USERNAME
). Если вы хотите, чтобы все пароли истекли, и у каждого есть каталог с его именем пользователя,/home
вы можете сделать:судо су компакт-диск /домой для USERNAME в *; сделать chage -d 0 $USERNAME ; готово
решение2
Тебе необходимокрэклибиPAM-cracklibдля решения вашего случая. Идея в том, что SSH будет использовать PAM, и пароль будет проверен бесшовно и безопасно. Взгляните на последнюю ссылку, которую я предоставил - она содержит отличное руководство, мне нечего добавить к нему
решение3
Нет, он не сможет этого сделать.
Пароль хранится только в виде "хеша" в /etc/shadow-. Так что администратор вообще не знает, как выглядят пароли.
Поэтому он может только предложить всем пользователям сменить пароль при следующем входе в систему, а затем проверить, что он надежный.