Linux su和sudo

su和sudo

su全称:switch user

#root用户可以很方便的切换到任意用户
su - test

exit	#退出,又回到root用户

image-20240914203817368

#普通用户切换到root用户,必须输入root密码

#不带-也可以,带-的话,就是切换完用户之后,直接到用户家目录下,不带-就不是家目录

sudo全称:supersuser do,它的作用是用来授权的,就是给普通用户最高级别权限用的。原因是很多操作,如果都需要root用户去做,太麻烦了,所以可以给普通用户做一些授权,普通用户操作就方便了。授权就用到了sudo,sudo并不是一下子给用户很多权限,而是一个命令一个命令的授权。

sudo需要修改配置才能开启。

#root用户才能修改这个配置
1.配置/etc/sudoers

#直接visudo就能编辑这个文件
用户名	所有终端=运行的用户身份	命令ALL  #ALL是所有指令,不能给所有的,不然权限太高了

例:
#在100行下添加如下内容
test ALL=(ALL) /bin/systemctl,/bin/vim,/sbin/reboot		#单独给指令权限,并且要写指令的绝对路径,逗号分隔

#vim权限最好别给

#修改完配置文件,保存退出之后,立马就生效了,不需要重启或者重新登录

#切换到普通用户,查看可以使用的授权命令
sudo -l

image-20240914205655750

普通用户在使用这些授权命令的时候,要在指令前加上sudo

Linux普通用户提权

sudo提权,就是进行sudo授权时给的授权太高,或者给授权时控制的不合理,就会被普通用户利用来提权。

例1:
vim
#命令模式执行:!/
#通过vim修改/etc/sudoers 授权ALL
#再通过vim进入一个文件
#:输入指令,可以直接输入系统指令,前面加一个!即可,比如创建一个文件!touch 111.txt
#查看111.txt信息如下:	

image-20240914211922720

发现是以root用户身份创建的文件

#如果在vim文件时,执行!/bin/bash 就进入到了root的命令终端,可以为所欲为
#这就是sudo提权,但是sudo提权需要借助到可以执行系统指令的交互式的功能,比如vim
例2:
find	
#sudo find . -exec bash \;		# . 表示任意一个文件,直接进入root的命令终端,这个指令退出root终端可能要退好几次才行,看find找到了几个文件,找到几个就输入几次exit才行

例3:
awk
#sudo awk 'BEGIN {system("/bin/bash")}' 文件名		#直接进入到root命令终端,exit直接退出

脏牛提权

dcow全称dirty cow,脏牛,原理:Linux内核的内存子系统在处理写入时复制(copy-on-write,COW,组合起来是牛的意思)时产生了竞争条件,恶意用户可利用此漏洞,来获取最高权限,对只读内存映射进行写访问,所以管这个提权方式叫脏牛提权。

https://github.com/gbonacini/CVE-2016-5195

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值