密码设置以及登录控制文件。
可以修改密码策略和登录失败重试策略。
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faildelay.so delay=2000000
auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
password requisite pam_cracklib.so retry=3
session optional pam_keyinit.so revoke
session required pam_limits.so
session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
auth 组件:认证接口,要求并验证密码
account组件:检测是否允许访问。检测账户是否过期或则在末端时间内能否登陆。
password组件:设置并验证密码
session组件:配置和管理用户sesison。
required:该模块必须success才能进行继续。即使失败用户也不会立刻获知,直到所有相关模块完成。
requisite:该模块必须success才能使认证继续进行。
suffifient:如果失败则忽略。
optinal:忽略结果,不管是否失败。
pam_pwquality.so retry=3 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root
minlen=12 密码最小长度为12个字符。
lcredit=-1 密码应包含的小写字母的至少一个
ucredit=-1 密码应包含的大写字母至少一个
dcredit=-1 将密码包含的数字至少为一个
ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。
auth required pam_tally2.so deny=3 unlock_time=5 even_deny_root root_unlock_time=10
连续密码错误3次锁定账户,普通用户3秒后解锁,root用户10秒解锁