Linux基础——所属主特殊权限set_uid ==suid

#useradd aming
#which passwd 【检查可执行命令passwd的路径】
/usr/bin/passwd
#ls -l /usr/bin/passwd 【此处第一目录是usr,不是user。】
-rw sr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd 【此处user的权限不再是rwx,而是rw s
【s表示:当其他用户执行该命令的时候,赋予该用户临时root权限,==set_uid == suid】

例子:
#ls -l /root 【root用户下,执行ls命令,列出root目录列表】
-rw-r--r--. 1 root root 4 1月 2 05:27 1.txt
-rw-------. 1 root root 1305 12月 30 02:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 23851 12月 30 02:46 install.log
-rw-r--r--. 1 root root 5775 12月 30 02:45 install.log.syslog
#su - aming 【切换至aming用户】
$ ls -l /root 【在aming用户下,执行ls命令】
ls: 无法打开目录/root/: 权限不够 【该用户没有使用ls命令的权限】
$ exit 【在aming用户下,退出到root用户,logout也可以】
#ls -l /bin/ls
-rwxr-xr-x. 1 root root 112664 11月 22 2013 /bin/ls
#chmod u+s /bin/ls 【给ls命令增加s特殊权限】
#ls -l /bin/ls
-rw sr-xr-x. 1 root root 112664 11月 22 2013 /bin/ls 【此时ls命令user的权限是rws】
#su - aming 【再次切换到aming用户】
$ ls -l /root 【在aming用户下,使用ls命令查看root目录】
-rw-r--r--. 1 root root 4 1月 2 05:27 1.txt
-rw-------. 1 root root 1305 12月 30 02:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 23851 12月 30 02:46 install.log
-rw-r--r--. 1 root root 5775 12月 30 02:45 install.log.syslog
#chmod u-x /bin/ls 【去掉ls命令的可执行权限】
#ls -l /bin/ls
-rw Sr-xr-x. 1 root root 112664 11月 22 2013 /bin/ls 【user权限里面的rws变成了大写S】
#ls -l /root 【root用户,执行ls命令,S没有影响】
-rw-r--r--. 1 root root 4 1月 2 05:27 1.txt
-rw-------. 1 root root 1305 12月 30 02:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 23851 12月 30 02:46 install.log
-rw-r--r--. 1 root root 5775 12月 30 02:45 install.log.syslog
#su - aming
$ ls -l /root 【此时仍可以执行,是因为其user权限去掉了s,但是others的权限,仍然有x可执行权限】
-rw-r--r--. 1 root root 4 1月 2 05:27 1.txt
-rw-------. 1 root root 1305 12月 30 02:46 anaconda-ks.cfg
-rw-r--r--. 1 root root 23851 12月 30 02:46 install.log
-rw-r--r--. 1 root root 5775 12月 30 02:45 install.log.syslog
$ exit
#chmod o-x /bin/ls 【去掉others的可执行权限】
#su - aming
$ ls -l /root 【aming用户下,执行ls命令】
-bash: /bin/ls: 权限不够

NOTE:
set uid 只能作用于 可执行的 二进制文件

拓展
当有特殊权限时,当用数字表示user/group/others的权限时,是四个数字表达。
传统表达为755,766等。
#ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
此处users的权限时rws,表达式为 4755

第一位数字规定:
setuid=4 setgid=2 stiky_bit=1
usergroupothers数字
---0
--t1
-s-2
-st3
s--4

s-t5
ss-6
sst7


如果不想普通用户修改自己的密码
#chmod u-s /usr/bin/passwd
或者
#chmod 0755 /usr/bin/passwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值