2.18-特殊权限set_uid

本文深入解析SUID权限在Linux系统中的作用,解释其如何让普通用户临时获得文件属主的权限,通过具体示例说明SUID在二进制可执行文件上的应用,以及如何通过chmod命令设置和取消SUID权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

suid只有作用于文件上才起作用,suid只能作用于二进制可执行文件上 ,suid可以让执行该文件的用户临时以该文件属主身份去执行。


查看passwd权限
之前接触过更改密码用到的命令是:passwd
那么他在什么目录下呢,我们查看下

[root@evan-01 ~]# which passwd
/usr/bin/passwd
[root@evan-01 ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10  2014 /usr/bin/passwd
[root@evan-01 ~]#

我们发现这个文件前面的权限里面有个s,这个 s 到底是什么含义呢?
rws s 全称 (set_uid)

改密码的时候,我们实际更改的是 /etc/shadow,我们来查看下它

[root@evan-01 ~]# ls /etc/shadow
/etc/shadow
[root@evan-01 ~]# ls -l /etc/shadow
----------. 1 root root 641 Aug  9 10:24 /etc/shadow
[root@evan-01 ~]#

权限全是0,很严谨。Linux系统非常安全,作为root用户没有权限,那么怎么办呢?

set_uid 保证普通用户临时拥有该命令所有者身份
set_uid 保证普通用户临时拥有该命令所有者身份,前提文件得是二进制文件,并且得可执行

复制一个终端
切换到普通用户,使用ls命令,发现没有权限
在这里插入图片描述再回到刚才的终端里,设置个临时权限,让它临时拥有root权限

[root@evan-01 ~]# chmod u+s /usr/bin/ls
[root@evan-01 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 Nov  6  2016 /usr/bin/ls
[root@evan-01 ~]#

再回到刚才复制的终端里面查看,发现已经可以使用ls命令了
在这里插入图片描述other用户权限还是没有的,但是我们已经能查看了,因为ls有set_uid
在这里插入图片描述

取消权限

[root@evan-01 ~]# chmod u-s /usr/bin/ls
[root@evan-01 ~]# ls -l /usr/bin/ls
-rwxr-xr-x. 1 root root 117656 Nov  6  2016 /usr/bin/ls
[root@evan-01 ~]#

取消权限另外一种写法

[root@evan-01 ~]# chmod u=rws /usr/bin/ls
[root@evan-01 ~]# ls -l /usr/bin/ls      
-rwSr-xr-x. 1 root root 117656 Nov  6  2016 /usr/bin/ls
[root@evan-01 ~]#

加上x权限,就变成小s了

[root@evan-01 ~]# chmod u+x /usr/bin/ls
[root@evan-01 ~]# ls -l /usr/bin/ls
-rwsr-xr-x. 1 root root 117656 Nov  6  2016 /usr/bin/ls
[root@evan-01 ~]#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值