密码设置及登陆控制文件位置:/etc/pam.d/system-auth, 示例文件内容如下:
auth required pam_securetty.so auth required pam_unix.so shadow nullok auth required pam_nologin.so account required pam_unix.so password required pam_cracklib.so retry=3 password required pam_unix.so shadow nullok use_authtok session required pam_unix.so
三个auth都会用来进行登陆检查,即使第一个模块失败,用来防止用户知道在哪个过程失败,主要目的是防止攻击。 auth 组件:认证接口,要求并验证密码 account组件:检测是否允许访问。检测账户是否过期或则在末端时间内能否登陆。 password组件:设置并验证密码 session组件:配置和管理用户sesison。
required:该模块必须success才能进行继续。即使失败用户也不会立刻获知,直到所有相关模块完成。 requisite:该模块必须success才能使认证继续进行。 suffifient:如果失败则忽略。 optinal:忽略结果,不管是否失败。
auth required pam_securetty.so
确保如果用户尝试以 root 身份登录, 则用户登录的 tty 将列在/etc/securetty 文件中, 如果该文件存在的话。
auth required pam_unix.so shadow nullok
提示登陆用户输入密码然后根据/etc/passwd中保存的对应密码进行验证,如果/etc/shadow存在的话。pam_unis.so模块会自动检测并使用密码验证用户。
auth required pam_nologin.so
认证最后的步骤,验证/etc/nologin文件是否存在,如果nologin存在并且用户身份不是root,则认证失败。
account required pam_unix.so
该模块执行必要的账户检验。如果enable shadow passwords,pam_unix.so模块会检验账号是否已经过期或则在宽限的时间内改过密码。
password required pam_cracklib.so retry=3
如果密码过期,pam_cracklib.so要求一个新密码,如果新密码复杂度不满足不要,会在给用户两次机会重新输入密码强度够的密码。一共三次。pam_cracklib.so支持的选项如下: minlen=N:新密码的最小长度 dcredit=N:当N>0时表示新密码中数字出现的最多次数;当N0时表示新密码中大写字母出现的最多次数;当N0时表示新密码中小写字母出现的最多次数;当N0时表示新密码中特殊字符出现的最多次数;当N
password required pam_unix.so shadow nullok use_authtok
如果需要更改用户的密码,则必须由pam_unix.so模块来操作。 shadow标识:当更新用户密码的时候创建shadow passwords nullok标识:用户可以从空密码更改他们的密码否则空密码视为账户锁定。 user_authok标识:禁用请求新密码。接受任何由前一个功能模块创建的密码,但是改密码必须交由pam_cracklib.so检测。
session required pam_unix.so
pam_unix.so session组件,在/var/log/messages当中记录用户名和服务类型
以上就是
为各位朋友分享的 相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多 等着你!