linux修改su的PAM配置文件,linux pam安全认证模块su命令的安全隐患
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命令的安全隐患相关推荐
- linux系统pam配置文件,【PAM】 How to Configure and Use PAM in Linux?
一.什么是PAM PAM(Pluggable Authentication Modules )是由Sun提出的一种认证机制. 它通过提供一些动态链接库和一套统一的API,将系统提供的服务 和该服务的认 ...
- linux 修改系统时间和日期,Linux 修改系统日期和时间
Linux 修改系统日期和时间 一.文本模式下修改 命令及参数选项:date -s 示例如下: #date -s 04/11/2008 ------将系统时间设定成2008年4月11日 #date - ...
- linux修改栈指针x86,为什么x86-64 Linux系统调用会修改RCX,这个值意味着什么?
我正在尝试使用sys_brk syscall在linux中分配一些内存.这是我尝试过的: BYTES_TO_ALLOCATE equ 0x08 section .text global _start ...
- linux修改时间写入cmos,解析Linux操作系统修改时间
如果你在你的电脑上安装了Linux操作系统,可是Linux操作系统上显示的时间是不对的,怎样才能调节好呢?机器上的时间比较复杂,有各式各样的时钟和选项等等.机器里有两个时钟.硬件时钟从根本上讲是CMO ...
- linux修改文档拥有人为,Linux系统修复
LAB : Linux系统修复 实验目的: 使用linux recuse模式修复Linux系统 实验步骤: 一.人为删除系统关键文件 登陆linux系统之后,依次执行以下命令人为破坏当前linux系统 ...
- linux修改密码和宽限天数,Linux chage用法详解:修改用户密码状态
除了passwd -S命令可以查看用户的密码信息外,还可以利用 chage 命令,它可以显示更加详细的用户密码信息,并且和 passwd 命令一样,提供了修改用户密码信息的功能. 如果你要修改用户的密 ...
- linux修改ssh登陆端口号,Linux 6 修改ssh默认远程端口号的操作步骤
linux 默认的ssh远程端口是22,有时默认端口会遭到别有用心的人们扫描或攻击,为了时我们的系统更加安全那就需要修改远程端口号 操作步骤: 1.修改ssh_config配置文件 vim /etc/ ...
- linux自动获取ip网卡配置文件,linux 命令行下配置网卡自动获取 IP
linux 下配置网络,最方便的还是用图形界面,然而有时候必须在命令行下操作,我知道可以通过 ifconfig 设置 ip (192.168.1.20) 和掩码,route 添加网关(192.168. ...
- linux修改密码和宽限天数,Linux用户和组管理
登录Linux时我们都需要输入账号和密码,但Linux只会识别账号所对应用ID号,这个ID号就称为UID. 同理每个用户组也都拥有相对应的组ID号,即GID. Linux根据/etc/passwd文件 ...
最新文章
- java.lang.IllegalMonitorStateException: object not locked by thread before notify() 详解
- python【力扣LeetCode算法题库】20- 有效的括号(辅助栈)
- 【转载】python3安装scrapy之windows32位爬坑
- pip3 install face_recognition
- Jupyter notebook Ipython 魔法函数 Magic 计算代码(函数)耗时 Timing(%%time %time %timeit)
- 1689: 营救小明(bfs+priority_queue逆向思维)
- [蓝桥杯2018初赛]星期一-日期计算
- python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!
- Nginx Lua读取redis 进行权限认证操作
- iOS开发之Undefined symbols for architecture x86_64报错
- 求当前月的第一天和最后一天
- 与MyBatis的第一次见面课
- 点对点信道互连以太网实验_轩辕实验室┃SOTIF:汽车以太网容错能力测试(1)...
- 什么是句柄/底层绘图函数
- WARNING: Too many active WebGL contexts. Oldest context will be lost.
- c语言简单的图案设计,分形艺术图案设计
- 别和我谈理想,我要的是钱
- 780. 到达终点 (Reaching Points)
- 电脑登陆出现此工作站和主域间的信任关系失败
- 数据结构——竞选海报
热门文章
- 21秋期末考试建筑力学与结构10126k2
- 【渝粤教育】 国家开放大学2020年春季 1129土木工程力学(本) 参考试题
- 物联网和互联网的区别
- 这四种攻击单片机的主要技术你了解多少?
- fate服务器维护,活动维护公告(2020年4月1日 14时)
- 怎么设置php的css颜色代码,CSS的文本字体颜色如何设置
- 聚类dbi指数_一种基于DBI-PD聚类算法的异常检测机制
- mysql5.6特性_MySQL5.6新版本特性
- C++判断是否为素数、求一个数的因数、质因数分解
- Java线程的调度及线程的优先级