更新时间:2022-02-22 GMT+08:00

如何在Linux主机上安装PAM并设置口令复杂度策略?

安装PAM

如果当前系统中未安装PAM(Pluggable Authentication Modules),就无法为系统提供口令复杂度策略检测功能。

若云服务器的操作系统为Debian或Ubuntu,请以管理员用户在命令行终端执行命令apt-get install libpam-cracklib进行安装。

CentOS、Fedora、EulerOS系统默认安装了PAM并默认启动。

设置口令复杂度策略

为了确保系统的安全性,建议设置的口令复杂度策略为:口令最小长度不小于8,至少包含大写字母、小写字母、数字和特殊字符中的三种。

以下配置为基础的安全要求,如需其他更多的安全配置,请执行以下命令获取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=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

  • 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=9 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1 difok=3