linux学习之SUID

文件特殊权限SUID?

1. 问题引导

/etc/shadow文件所有账户的密码,且/etc/shadow的文件属性为:

[root@localhost ~]# ll /etc/shadow
-r-------- 1 root root 1464 Nov 11 17:41 /etc/shadow
[root@localhost ~]# 

可以该文件仅能由root进行读取并且由root进行强制写入,那么普通用户(在我的系统中有一个普通用户test1)是否可以修改自己的密码呢?答案是肯定的。我们可以输入passwd来修改自己的密码,在这里就有个问题:既然/etc/shadow文件无法被test1用户修改,那test1是如何修改自己的密码呢?

普通用户修改自己的密码是通过passwd这个命令来修改,大家来看下/user/bin/passwd文件的权限

[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x 1 root root 22960 Jul 17  2006 /usr/bin/passwd
[root@localhost 

所以,test1之所以能修改自己的密码,是因为passwd的权限中的那个s导致的。

2. Set UIDSUID)权限

s出现在文件拥有者的x属性上,表明文件具有SUID权限。那么SUID权限对于一个文件到底意味着什么呢?

该权限仅对二进制程序有效果

执行者必须拥有该文件的执行(x)权限

该权限仅在执行程序的过程中有效

执行者在执行过程中具有该程序拥有者的权限

从上面的问题引导来解释下:

对于passwd执行程序来说,test1具有x权限;

test1执行passwd程序时,就拥有了passwd拥有者(也就是root)的权限

进行更改代码时,由于此时具有root的权限,当然可以更改shadow这个文件啦。


 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值