我对 /etc/login.defs 进行了更改:
PASS_MIN_LEN 3
重新启动服务器,甚至创建了一个新用户,但我仍然收到密码太短的错误......
我究竟做错了什么 ?
答案1
这/etc/login.defs
是配置登录相关设置的一种非常古老的方法,以前的许多事情现在都以其他方式处理。
特别是,密码质量检查现在通常由 PAM 模块处理,其配置可以在/etc/pam.d
(= 何时调用哪些模块) 和/etc/security
(= 各个模块的配置文件,如果需要的话) 中找到。
使用passwd
命令更改密码时,/etc/pam.d/passwd
将读取该文件以确定要使用哪些 PAM 模块。通常,特定于命令的 PAM 配置文件将仅使用指令引用同一目录中的其他文件 @include
:例如,在 Debian 10 上,该/etc/pam.d/passwd
文件仅包含一个非注释行:@include common-password
. (与 Debian 无关的 Linux 发行版可能会使用不同的设置)
然后,该/etc/pam.d/common-password
文件定义密码更改过程中涉及的 PAM 模块(无论您是在命令行上还是使用某些 GUI 工具执行此操作)。从那里,您会找到一行提到pam_unix.so
.
pam_unix.so
/etc/passwd
是 PAM 模块,负责使用和进行标准 UNIX 风格密码存储/etc/shadow
。它还包括最小长度检查;在 Debian 10 中,默认最小长度为 6 个字符,但可以通过minlen=N
在该password ... pam_unix.so
行中添加选项来调整。