密码设置及登陆控制文件位置:/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时表示新密码中数字出现的最多次数;当N<0时表示新密码中数字出现最少次数;
- ucredit=N: 当N>0时表示新密码中大写字母出现的最多次数;当N<0时表示新密码中大写字母出现最少次数;
- lcredit=N: 当N>0时表示新密码中小写字母出现的最多次数;当N<0时表示新密码中小写字母出现最少次数;
- ocredit=N:当N>0时表示新密码中特殊字符出现的最多次数;当N<0时表示新密码中特殊字符出现最少次数;
- maxrepeat=N:拒绝包含多于N个相同连续字符的密码。 默认值为0表示禁用此检查
- maxsequence=N:拒绝包含长于N的单调字符序列的密码。默认值为0表示禁用此检查。实例是’12345’或’fedcb’。除非序列只是密码的一小部分,否则大多数此类密码都不会通过简单检查。
- enforce_for_root: 如果用户更改密码是root,则模块将在失败检查时返回错误。默认情况下,此选项处于关闭状态,只打印有关失败检查的消息,但root仍可以更改密码。不要求root用户输入旧密码,因此不会执行比较旧密码和新密码的检查。
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当中记录用户名和服务类型
作者:Jeebiz 创建时间:2024-08-16 11:45
最后编辑:Jeebiz 更新时间:2024-11-01 12:20
最后编辑:Jeebiz 更新时间:2024-11-01 12:20