
# 如何在Linux主机上安装PAM并设置口令复杂度策略？
#### 安装PAM
如果当前主机中未安装PAM（Pluggable Authentication Modules），HSS就无法为主机提供口令复杂度策略检测功能。未安装PAM的主机，HSS会在"风险预防 \> 基线检查 \> 口令复杂度策略风险"页面，提供的建议中提示需安装PAM。
如果云服务器的操作系统为Debian或Ubuntu，请以管理员用户在命令行终端执行命令**apt-get install libpam-cracklib**进行安装。
![](https://support.huaweicloud.com/hss2.0_faq/public_sys-resources/note_3.0-zh-cn.png)
CentOS、Fedora、EulerOS系统默认安装了PAM并默认启动。
#### 设置口令复杂度策略
为了确保系统的安全性，建议设置的口令复杂度策略为：口令最小长度不小于8且必须包含大写字母、小写字母、数字和特殊字符。
![](https://support.huaweicloud.com/hss2.0_faq/public_sys-resources/note_3.0-zh-cn.png)
以下配置为基础的安全要求，如需其他更多的安全配置，请执行以下命令获取Linux帮助信息。
- 基于Red Hat 7.0的CentOS、Fedora、EulerOS系统 **man pam_pwquality**
  

- 其他Linux系统 **man pam_cracklib**
  
 
- CentOS、Fedora、EulerOS操作系统
  1. 执行以下命令，编辑文件"/etc/pam.d/system-auth"。 **vi** **/etc/pam.d/system-auth**
     
  
  2. 找到文件中的以下内容。
     - 基于Red Hat 7.0的CentOS、Fedora、EulerOS系统： password requisite pam_pwquality.so try_first_pass retry=3 type=
       
     
     - 其他CentOS、Fedora、EulerOS系统： password requisite pam_cracklib.so try_first_pass retry=3 type=
       
      
  
  3. 添加参数"minlen"、"dcredit"、"ucredit"、"lcredit"、"ocredit"。如果文件中已有这些参数，直接修改参数值即可，参数说明如[表1]所示。
     示例：
     password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 type=
     ![](https://support.huaweicloud.com/hss2.0_faq/public_sys-resources/note_3.0-zh-cn.png)
     "dcredit"、"ucredit"、"lcredit"、"ocredit"中均需要配置为负数。
      表1参数说明 
     | 参数      | 说明                                                                               | 示例         |
     |:---|:---|:---|
     | minlen  | 口令最小长度配置项。 如果需要设置最小口令长度为8，则minlen的值应该设置为8。           | minlen=8   |
     | dcredit | 口令数字要求的配置项。 值为负数N时表示至少有N个数字，值为正数时对数字个数没有限制。          | dcredit=-1 |
     | ucredit | 口令大写字母要求的配置项。 值为负数N时表示至少有N个大写字母，值为正数时对大写字母个数没有限制。 | ucredit=-1 |
     | lcredit | 口令小写字母要求的配置项。 值为负数N时表示至少有N个小写字母，值为正数时对小写字母个数没有限制。   | lcredit=-1 |
     | ocredit | 特殊字符要求的配置项。 值为负数N时表示至少有N个特殊字符，值为正数时对特殊字符个数没有限制。    | ocredit=-1 |
        
     
   
- Debian、Ubuntu操作系统
  1. 执行以下命令，编辑文件"/etc/pam.d/common-password"。 **vi /etc/pam.d/common-password**
     
  
  2. 找到文件中的以下内容： password requisite pam_cracklib.so retry=3 minlen=8 difok=3
     
  
  3. 添加参数"minlen"、"dcredit"、"ucredit"、"lcredit"、"ocredit"。如果文件中已有这些参数，直接修改参数值即可，参数说明如[表1]所示。
     示例：
     password requisite pam_cracklib.so retry=3 minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=3
     
   
 
