Linux下的/etc/pam.d/system-auth配置文件参数说明

2023-05-16

文章目录

  • 一 配置文件内容
  • 二 各列参数说明
    • 1)第一列
    • 2)第二列
    • 3)第三列和第四列
  • 三 常用类说明

一 配置文件内容

首先打开配置文件/etc/pam.d/system-auth,我们会发现这个文件大致分成四列四部分内容。

[root@master ~]# 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 设置
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下的/etc/pam.d/system-auth配置文件参数说明 的相关文章

随机推荐

  • 学科前沿技术(高性能计算机)

    高性能计算机 xff1a 二十世纪八 九十年代是高性能计算机丰富多彩的时期 xff0c 各种体系结构的系统争奇斗妍 进入二十一世纪 xff0c 高性能计算机产业逐渐成熟 xff0c 用户面大大扩大 xff0c 技术也不断聚焦 工业界认为 x
  • 异常行为分析模型设计

    本文针对异常访问现状及问题进行简要描述 xff0c 在此基础上提出基于一元线性回归的最小二乘法异常访问分析模型 xff0c 通过该模型解决了异常访问中时间与访问间相关性问题 异常访问是指网络行为偏离正常范围的访问情况 异常访问包含多种场景
  • CSS 参考手册

    CSS 参考手册 CSS 参考手册 CSS 选择器 W3School 的 CSS 参考手册定期通过所有主流浏览器进行测试 CSS 属性 CSS 属性组 xff1a 动画背景边框和轮廓盒 xff08 框 xff09 颜色内容分页媒体定位可伸缩
  • C语言求n的阶乘(n!)

    从键盘输入一个数 xff0c 求出这个数的阶乘 xff0c 即 n 算法思想 首先要清楚阶乘定义 xff0c 所谓 n 的阶乘 xff0c 就是从 1 开始乘以比前一个数大 1 的数 xff0c 一直乘到 n xff0c 用公式表示就是 x
  • Oracle grant all privileges to user

    测试流程 xff1a 解锁HR用户 SQL gt alter user hr account unlock identified by hr User altered 创建一个test用户 SYS 64 orcl11g gt CREATE
  • 《自己动手写Docker》书摘之一: Linux Namespace

    Linux Namespace 介绍 我们经常听到说Docker 是一个使用了Linux Namespace 和 Cgroups 的虚拟化工具 xff0c 但是什么是Linux Namespace 它在Docker内是怎么被使用的 xff0
  • YYText

    特性 API 兼容 UILabel 和 UITextView支持高性能的异步排版和渲染扩展了 CoreText 的属性以支持更多文字效果支持 UIImage UIView CALayer 作为图文混排元素支持添加自定义样式的 可点击的文本高
  • 场景设计:用OOP的思想设计一个生产者消费者的模型

    具体模型如下 xff1a 有若干个消费者 xff0c 每个消费者都可以独立的执行消费任务 xff0c 偶尔会因为某种原因 xff0c 该消费者会不可用 xff0c 这个时候不能在给他分配消费任务了 此外还有大量待消费的生产品 xff0c 每
  • Ubuntu卡死在登录界面进不去的处理方法

    原因是显卡驱动坏了 xff0c 基本上本人的16 04版本动不动就坏一次 xff0c 已经习惯了 xff0c 18 04好像好不少 xff0c 也不知道是不是兼容问题 操作很简单 xff0c 就是卸载掉原来的驱动然后重装就OK了 1 在登录
  • 产品化的理解

    我对产品化的理解 产品化的时机是看业务的需要 xff0c 不管是对前景的落实 xff0c 还是项目转化成产品 xff0c 这些都不是技术人员能考虑的 xff0c 业务的发展和策划 xff0c 如何进行市场细化等如果都由技术人员考虑 xff0
  • 生产消费设计模式

    生产消费模式 在实际的软件开发过程中 xff0c 经常会碰到如下场景 xff1a 某个模块负责产生数据 xff0c 这些数据由另一个模块来负责处理 xff08 此处的模块是广义的 xff0c 可以是类 函数 线程 进程等 xff09 产生数
  • JS对象转insert语句

    function obj2Sql tablename obj var sqls 61 34 34 f 61 34 34 v 61 34 34 obj forEach o 61 gt f 61 34 34 v 61 34 34 for let
  • HTML5小试 双人贪吃蛇

    lt html gt lt head gt lt head gt lt body gt lt div style 61 34 float left 34 gt 当前速度1 xff1a lt button nclick 61 34 jianc
  • 九个Console命令,让js调试更简单

    九个Console命令 xff0c 让js调试更简单 一 显示信息的命令 lt DOCTYPE html gt lt html gt lt head gt lt title gt 常用console命令 lt title gt lt met
  • echarts自定义功能按钮图片 网络路径格式

    toolbox show true orient 39 vertical 39 x 39 left 39 top 39 20 39 feature myTool show true title 39 自定义扩展方法 39 icon 39 i
  • JAVA开发之基础业务环境

    1 用户登录 1 1 单点登录业务实现 单点登录 SingleSignOn xff0c SSO xff0c 就是通过用户的一次性鉴别登录 当用户在身份认证服务器上登录一次以后 xff0c 即可获得访问单点登录系统中其他关联系统和应用软件的权
  • 设置域用户密码复杂度

    需求 xff1a 设置域用户密码复杂度 环境 xff1a Windows Server 2016 DataCenter 创建组策略 xff0c 编辑 xff1a 路径 xff1a 计算机配置 Windows设置 安全设置 账户策略 密码策略
  • windows服务器设置开机启动的几种方式

    windows服务器设置开机启动的几种方式 xff1a 一 启动文件夹 将系统下可以直接双击就可以启动的可执行文件 xff0c 创建快捷方式放在此文件夹中 文件夹寻找方式 xff1a win 43 r 打开运行窗口 xff0c 输入shel
  • IDEA安装卸载插件

    介绍两种不常见的安装和卸载idea插件的方式 xff0c 具体步骤如下 xff1a 安装idea插件 通过命令行安装 1 查看Plugin ID 在https plugins jetbrains com 中搜索想要安装的插件 xff0c 如
  • Linux下的/etc/pam.d/system-auth配置文件参数说明

    文章目录 一 配置文件内容二 各列参数说明1 xff09 第一列2 xff09 第二列3 xff09 第三列和第四列 三 常用类说明 一 配置文件内容 首先打开配置文件 etc pam d system auth xff0c 我们会发现这个