linux-system-roles.pam_pwd
pam_pwd
该角色配置 PAM 来实现密码策略,以满足最低密码长度、复杂性、保持密码历史等要求。支持的系统包括:
- Fedora >= 35
- RHEL 7
- RHEL 8
- RHEL 9 Beta
- CentOS 7
- CentOS Stream 8
- CentOS Stream 9
该角色已在以下版本的 Ansible 中进行测试:
- ansible-core 2.11
- ansible-core 2.12
使用此角色时,您必须指定以下描述的角色变量。
要求
无。
角色变量
这里是所有输入变量的描述(即在 defaults/main.yml
中定义的变量),它们构成了角色的 API。以下代码块显示了所有必要的输入变量及其默认值,均在 defaults/main.yml
中指定。
pam_pwd_minlen: "12" # 定义密码的最小可接受长度。
pam_pwd_history: "5" # 定义不可重复使用的前几个密码的数量。
pam_pwd_dcredit: "-1" # 定义密码中必须含有的数字的最小信用值。
pam_pwd_ucredit: "-1" # 定义密码中必须含有的大写字母的最小信用值。
pam_pwd_lcredit: "-1" # 定义密码中必须含有的小写字母的最小信用值。
pam_pwd_ocredit: "-1" # 定义密码中必须含有的其他字符的最小信用值。
pam_pwd_minclass: "4" # 定义新密码中需要的字符类别的最小数量。
pam_pwd_enforce_root: "enforce_for_root" # (""|"enforce_for_root")定义是否对根用户强制实施密码复杂性。
pam_pwd_policy_name: "password-policy" # 仅针对 RHEL 8。定义自定义身份验证选择配置文件的名称。
pam_pwd_deny: "5" # 设置失败登录尝试后锁定账户的数量。
pam_pwd_unlock_time: "300" # 锁定后账户再次解锁所需的时间(以秒为单位)。
如果这些默认值符合您的要求,可以保留它们。或者,您可以通过在 vars/main.yml
、group_vars/
、host_vars/
或您的剧本中指定一些或所有这些变量来覆盖默认值。
示例剧本
以下代码块显示了运行此角色的最简单剧本:
- name: 管理 pam 密码
hosts: all
roles:
- linux-system-roles.pam_pwd
更多示例可以在 examples/
目录中找到。
许可证
MIT。
作者信息
作者:Joerg Kastning
联系方式:joerg.kastning@uni-bielefeld.de