如何在Linux主机上安装PAM并设置口令复杂度策略?
安装PAM
如果当前系统中未安装PAM(Pluggable Authentication Modules),就无法为系统提供口令复杂度策略检测功能。
若云服务器的操作系统为Debian或Ubuntu,请以管理员用户在命令行终端执行命令apt-get install libpam-cracklib进行安装。
![](https://support.huaweicloud.com/hss_faq/public_sys-resources/note_3.0-zh-cn.png)
CentOS、Fedora、EulerOS系统默认安装了PAM并默认启动。
设置口令复杂度策略
为了确保系统的安全性,建议设置的口令复杂度策略为:口令最小长度不小于8,至少包含大写字母、小写字母、数字和特殊字符中的三种。
![](https://support.huaweicloud.com/hss_faq/public_sys-resources/note_3.0-zh-cn.png)
- CentOS、Fedora、EulerOS操作系统
- 执行以下命令,编辑文件“/etc/pam.d/system-auth”。
vi /etc/pam.d/system-auth
- 找到文件中的以下内容。
- 添加参数“minlen”、“dcredit”、“ucredit”、“lcredit”、“ocredit”。如果文件中已有这些参数,直接修改参数值即可,参数说明如表1所示。
示例:
password requisite pam_cracklib.so try_first_pass retry=3 minlen=9 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 type=
“dcredit”、“ucredit”、“lcredit”、“ocredit”中至少有三个需要配置为负数。
表1 参数说明 参数
说明
示例
minlen
口令最小长度配置项。
PAM默认使用了“credits”,因此最小口令长度需要加1,若需要设置最小口令长度为8,则minlen的值应该设置为9。
minlen=9
dcredit
口令数字要求的配置项。
值为负数N时表示至少有N个数字,值为正数时对数字个数没有限制。
dcredit=-1
ucredit
口令大写字母要求的配置项。
值为负数N时表示至少有N个大写字母,值为正数时对大写字母个数没有限制。
ucredit=-1
lcredit
口令小写字母要求的配置项。
值为负数N时表示至少有N个小写字母,值为正数时对小写字母个数没有限制。
lcredit=-1
ocredit
特殊字符要求的配置项。
值为负数N时表示至少有N个特殊字符,值为正数时对特殊字符个数没有限制。
ocredit=-1
- 执行以下命令,编辑文件“/etc/pam.d/system-auth”。
- Debian、Ubuntu操作系统
- 执行以下命令,编辑文件“/etc/pam.d/common-password”。
vi /etc/pam.d/common-password
- 找到文件中的以下内容:
- 添加参数“minlen”、“dcredit”、“ucredit”、“lcredit”、“ocredit”。如果文件中已有这些参数,直接修改参数值即可,参数说明如表1所示。
示例:
password requisite pam_cracklib.so retry=3 minlen=9 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=3
- 执行以下命令,编辑文件“/etc/pam.d/common-password”。