Linux_PAM安全认证_sudo_安全控制

本文深入讲解了Linux系统中PAM认证模块的工作原理、配置方法及其安全性应用,包括su命令的安全隐患、PAM认证流程和配置文件解读、使用sudo机制提升权限、开关机安全控制以及终端登录安全控制等内容。

一.Linux中的PAM安全认证

Linux-PAM,
是linux可插拔认证模块,是一套可定制、可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式。PAM使用/etc/pam.d/下的配置文件,来管理对程序的认证方式。
应用程序调用相应的PAM配置文件,从而调用本地的认证模块,模块放置在/1ib64/security下,以加载动态库的形式进行认证。比如使用su命令时,系统会提示输入root用户的密码,这就是su命令通过调用PAM模块实现的。

1.su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

2.PAM(Pluggable Authentication Modules)可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 也是当前Linux服务器普遍使用的认证方式

二.PAM认证原理

  • 一般遵循的顺序
    -----------Service (服务) - →PAM (配置文件)-→pam_*.so
  • 首先要确定哪一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证
  • 用户访问服务器时,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证
  • 不同的应用程序所对应的PAM模块是不同的
  • PAM的配置文件中的每行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用

在这里插入图片描述
在这里插入图片描述

三. PAM认证得构成

1.查看某个程序是否支持PAM认证,可以用Is命令

查看su是否支持PAM模块认证:
Is /etc/pam.d | grep su

2. 查看su的PAM配置文件: cat /etc/pam.d/su
  • 每一行都是一个独立的认证过程
  • 每一行可以区分为三个字段
    • -------------认证类型.
  • ---------------控制类型
  • ----------------PAM模块及其参数

在这里插入图片描述
第一列代表PAM认证模块类型.

auth 对用户身份进行识别,如提示输入密码,判断是否为root。
account: 对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。
password: 使用用户信息来更新数据,如修改用户密码。
session: 定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统。

第二列代表PAM控制标记:

required: 表示需要返回一-个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下–验证,所有此类型的模块都执行完成后,再返回失败。
requisite: 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
sufficient: 如果此模块返回成功,则直接向程序返回成功,表示此类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值