PAM安全认证

1、su命令的安全隐患

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

2、可插拔认证模块PAM(pluggable Authentication Modules)

(1)PAM简介

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

PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telent,rlogin,fsh,ftp),su等应用程序。系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

(2)PAM认证管理

pam认证一般遵循的顺序:Service(服务)——PAM——prm_*.so

PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(32位系统位于/lib/security下,64位系统位于/lib64/security下)进行安全认证。

用户访问服务器的时候,服务器的某一个服务进程把用户的请求发送到PAM模块进行认证。不同的应用程序所对应的PAM模块也是不同。

如果想查某个程序是否支持PAM认证,可以用ls命令进行查看,如查看su是否支持PAM模块认证:ls /etc/pam.d|grep su

常见的四种认证类型

认证类型

意义

作用

auth

认证管理

接受用户和密码,进而对该用户的密码进行认证

account

账户管理

检查账户是否被允许登录系统,账号是否已过期,账号的登录是否有时间段的限制等权限

password

密码管理

主要是用来修改用户的密码

session

会话管理

主要是提供对会话的管理和记账

使用PAM认证模块,限制某个命令或是服务的使用权限

vi编辑该命令在/etc/pam.d/下对应的配置文件,启用pam_wheel模块

添加授权用户到wheel组

示例:

设置允许用户amder和user1使用su命令进行切换

[root@localhost ]# vi /etc/pam.d/su

#%PAM-1.0

auth            sufficient      pam_rootok.so

# Uncomment the following line to implicitly trust users in the "wheel" group.

#auth           sufficient      pam_wheel.so trust use_uid

# Uncomment the following line to require a user to be in the "wheel" group.

#auth           required        pam_wheel.so use_uid   #把最前面井号取消

auth            substack        system-auth

auth            include         postlogin

account         sufficient      pam_succeed_if.so uid = 0 use_uid quiet

account         include         system-auth

password        include         system-auth

session         include         system-auth

session         include         postlogin

session         optional        pam_xauth.so

把两个用户添加到组里

[root@localhost ~]# gpasswd -M amder,user1 wheel

把组添加到配置文件里

[root@localhost ~]# grep wheel /etc/group

wheel:x:10:amder,user1

是一个组的有权su切换用户,没有权限拒绝su切换

[amder@localhost ~]$ su user1

密码:

[user1@localhost amder]$

[xiao1@localhost amder]$ su amder        #xiao1无法使用su命令

密码:

su: 密码不正确

linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患相关推荐

  1. linux系统pam配置文件,【PAM】 How to Configure and Use PAM in Linux?

    一.什么是PAM PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制. 它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认 ...

  2. linux 修改系统时间和日期,Linux 修改系统日期和时间

    Linux 修改系统日期和时间 一.文本模式下修改 命令及参数选项:date -s 示例如下: #date -s 04/11/2008 ------将系统时间设定成2008年4月11日 #date - ...

  3. linux修改栈指针x86,为什么x86-64 Linux系统调用会修改RCX,这个值意味着什么?

    我正在尝试使用sys_brk syscall在linux中分配一些内存.这是我尝试过的: BYTES_TO_ALLOCATE equ 0x08 section .text global _start ...

  4. linux修改时间写入cmos,解析Linux操作系统修改时间

    如果你在你的电脑上安装了Linux操作系统,可是Linux操作系统上显示的时间是不对的,怎样才能调节好呢?机器上的时间比较复杂,有各式各样的时钟和选项等等.机器里有两个时钟.硬件时钟从根本上讲是CMO ...

  5. linux修改文档拥有人为,Linux系统修复

    LAB : Linux系统修复 实验目的: 使用linux recuse模式修复Linux系统 实验步骤: 一.人为删除系统关键文件 登陆linux系统之后,依次执行以下命令人为破坏当前linux系统 ...

  6. linux修改密码和宽限天数,Linux chage用法详解:修改用户密码状态

    除了passwd -S命令可以查看用户的密码信息外,还可以利用 chage 命令,它可以显示更加详细的用户密码信息,并且和 passwd 命令一样,提供了修改用户密码信息的功能. 如果你要修改用户的密 ...

  7. linux修改ssh登陆端口号,Linux 6 修改ssh默认远程端口号的操作步骤

    linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件 vim /etc/ ...

  8. linux自动获取ip网卡配置文件,linux 命令行下配置网卡自动获取 IP

    linux 下配置网络,最方便的还是用图形界面,然而有时候必须在命令行下操作,我知道可以通过 ifconfig 设置 ip (192.168.1.20) 和掩码,route 添加网关(192.168. ...

  9. linux修改密码和宽限天数,Linux用户和组管理

    登录Linux时我们都需要输入账号和密码,但Linux只会识别账号所对应用ID号,这个ID号就称为UID. 同理每个用户组也都拥有相对应的组ID号,即GID. Linux根据/etc/passwd文件 ...

最新文章

  1. java.lang.IllegalMonitorStateException: object not locked by thread before notify() 详解
  2. python【力扣LeetCode算法题库】20- 有效的括号(辅助栈)
  3. 【转载】python3安装scrapy之windows32位爬坑
  4. pip3 install face_recognition
  5. Jupyter notebook Ipython 魔法函数 Magic 计算代码(函数)耗时 Timing(%%time %time %timeit)
  6. 1689: 营救小明(bfs+priority_queue逆向思维)
  7. [蓝桥杯2018初赛]星期一-日期计算
  8. python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!
  9. Nginx Lua读取redis 进行权限认证操作
  10. iOS开发之Undefined symbols for architecture x86_64报错
  11. 求当前月的第一天和最后一天
  12. 与MyBatis的第一次见面课
  13. 点对点信道互连以太网实验_轩辕实验室┃SOTIF:汽车以太网容错能力测试(1)...
  14. 什么是句柄/底层绘图函数
  15. WARNING: Too many active WebGL contexts. Oldest context will be lost.
  16. c语言简单的图案设计,分形艺术图案设计
  17. 别和我谈理想,我要的是钱
  18. 780. 到达终点 (Reaching Points)
  19. 电脑登陆出现此工作站和主域间的信任关系失败
  20. 数据结构——竞选海报

热门文章

  1. 21秋期末考试建筑力学与结构10126k2
  2. 【渝粤教育】 国家开放大学2020年春季 1129土木工程力学(本) 参考试题
  3. 物联网和互联网的区别
  4. 这四种攻击单片机的主要技术你了解多少?
  5. fate服务器维护,活动维护公告(2020年4月1日 14时)
  6. 怎么设置php的css颜色代码,CSS的文本字体颜色如何设置
  7. 聚类dbi指数_一种基于DBI-PD聚类算法的异常检测机制
  8. mysql5.6特性_MySQL5.6新版本特性
  9. C++判断是否为素数、求一个数的因数、质因数分解
  10. Java线程的调度及线程的优先级