禁用密码复杂性检查 (PAM)

Ale*_*nov 6 linux password pam passwd

我安装了一个基于 Linux 的系统,密码为空。我想将密码更改为简单的内容,但是使用passwd并将密码设置为单个符号之类的内容会出现“密码是回文”的错误。

如何禁用密码复杂性检查?

Ale*_*nov 5

我发现我的系统(作为大多数现代 Linux)使用PAM(Pluggable Authentication Modules)和其中的pam_cracklib模块。pam_cracklib无论参数如何,都强制执行最小长度为 6 个符号,因此解决方案是将其关闭。

我读过的一个链接讨论了 中的编辑password-acsystem-ac文件/etc/pam.d,这两个文件的内容是相同的,并且没有说明它们各自的作用。

通过研究PAM文档(Linux-PAM 系统管理员指南 | linux-pam.org),我了解到PAMLINUX 服务的配置位于该/etc/pam.d目录中的单独文件中。我看到了passwd文件,并且只找到了system-ac提到的文件(通过substack关键字添加),所以在我的系统上我只需要编辑system-ac.

制作pam_cracklib optional没有区别(我猜这是因为pam_cracklib没有将输入和拒绝的密码传递给堆栈中的下一个模块 - pam_unix)并且注释行pam_cracklib导致passwd运行期间出错。我注意到下一行带有普通的pam_unixhad 选项use_authtok(文档:强制模块将新密码设置为以前堆叠的模块提供的密码)。删除该选项并注释行后,pam_cracklib我现在可以使用passwd.