现在的位置: 首页 > 综合 > 正文

linux中suid和sgid

2019年06月11日 ⁄ 综合 ⁄ 共 608字 ⁄ 字号 评论关闭
例如我们执行一下命令:

ls /usr/bin/psswd -al
那么显示如下

-rwsr-xr-x 1 root root 29104 2008-04-03 09:08 /usr/bin/passwd

第一位“-”意思是如下

b:设备文件中的可存储的接口设备
c:设备文件中的串行端口设备
l :链接文件
d:目录文件
-:文件(这里即是);

这里,passwd user权限本来应该是x执行权限的地方,被一个x代替拉,这个x就是“传说中的”suid

如果这个s是出现在group权限设定中的x位置的时候,那么就是sgid

当一个文件具有suid的同时,others群组具有可执行权限,如下的--x,那么当other群组执行该程序的时候

other就拥有了该owner权限

如下:
-rwsr-xr-x 1 root root 29104 2008-04-03 09:08 /usr/bin/passwd
-rw-r----- 1 root shadow 907 2008-05-02 17:54 /etc/shadow

为什么shadow只能被root执行,然而我们每个用户都能改变自己的密码呢,我们普通用户难道
也具有访问shadow的权限,是的,当用户使用/etc/bin/passwd这个执行文件的时候,在执行
pass word修改的就具有了/usr/bin/passwd文件拥有者的权限,root,所以用户在执行passwd的时候
就具有了root权限,他可以改变/ect/shadow的内容

抱歉!评论已关闭.