重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1906|回复: 0
打印 上一主题 下一主题

[基础命令] Linux下的/etc/pam.d/system-auth配置文件参数说明

[复制链接]
跳转到指定楼层
楼主
发表于 2024-4-7 19:26:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiawang 于 2024-4-7 19:28 编辑

一 配置文件内容
[color=var(--md-editor-text-color-active)]首先打开配置文件/etc/pam.d/system-auth,我们会发现这个文件大致分成四列四部分内容。

[root@sztech ~]# cat /etc/pam.d/system-auth
#%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

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

各列参数说明1)第一列
其中第一列包括 auth、account、password、session四个模块。
参数
释义
auth用来识别用户身份,比如提示用户输入密码,判断用户是否为root等
account检测账户是否允许访问。比如是否允许登录,是否达到最大用户数,root用户是否允许在这个终端登录等
password进行用户信息更新,一般指修改用户密码
session用来配置和管理用户会话,定义用户登陆前与退出后的操作
2)第二列
第二列包含 required requisite suffifient optinal 四个参数。
参数
释义
required该模块失败后,也会执行完其余的模块,最后才会返回错误信息
requisite该模块必须success才能使认证继续进行,失败后直接返回错误信息,不执行后面的模块
sufficient如果失败则忽略;如果成功,并且之前的required模块没有发生故障,PAM会向应用程序返回通过的结果,不会再调用堆栈中其他模块
optional忽略结果,不管成功或者失败
include与处理结果无关,直接引用其他PAM模块的配置参数
3)第三列和第四列
具体使用的类以及参数设置。
三 常用类说明
1)密码过期,要求强制修改密码,且必须满足密码的复杂度。
此处使用 pam_cracklib.so 这个类。
password  required  pam_cracklib.so enforce_for_root retry=a ...
下面是我们常用的参数以及含义解释。

参数
含义
enforce_for_root即使是root用户,也必须符合复杂度条件
retry=a提示a次用户密码错误输入
minlen=b密码长度不小于b个字符
ucredit=c至少有c个大写字母
lcredit=d至少有d个大写字母
dcredit=e至少有e个数字
ocredit=f至少有f个其他特殊字符
difok=g新密码中至少有g个字符和旧密码不同
注意,上面的cdef数字是小于0的数字时,表示要求最少需要几个。
当cdef数字是大于0的数字时,表示要求最多有几个。
比如lcredit=-3,表示最少要有3个小写字母。
比如dcredit=2,表示最多只能有2个数字。
由于这个类比较常用,且经常在实际生产环境中会对配置文件的密码复杂度进行修改,所以单独将其拿出来说明。
下面是其他一些常用的类以及对应的模块,了解即可。

类可用的模块
含义说明
pam_unix.soauth提示用户输入密码,并与/etc/shadow对比,匹配则返回0
pam_unix.soaccount检查用户账号信息,账号可用,返回0
pam_unix.sopassword修改用户的密码,并将其更新到/etc/shadow文件中

类可用的模块
含义说明
pam_shells.soauth如果用户想登陆系统,它的shell必须是 /etc/shells文件中的shell

类可用的模块
含义说明
pam_deny.soauth用于拒绝访问
pam_deny.soaccount用于拒绝访问
pam_deny.sopassword用于拒绝访问

类可用的模块
含义说明
pam_permit.soauth模块任何时候都返回成功
pam_permit.soaccount模块任何时候都返回成功
pam_permit.sopassword模块任何时候都返回成功

类可用的模块
含义说明
pam_securetty.soauth当用户以root登录时,登陆的tty 必须在 /etc/securetty 中

类可用的模块
含义说明
pam_listfile.soauth访问应用程序的控制开关
pam_listfile.soaccount访问应用程序的控制开关
pam_listfile.sopassword访问应用程序的控制开关
pam_listfile.sosession访问应用程序的控制开关

类可用的模块
含义说明
pam_limits.sosession定义使用系统资源的上限,包括root用户。可以通过 /etc/security/limits.conf 设置


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-11-24 21:53 , Processed in 0.085268 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表