特殊权限之suid
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了特殊权限之suid相关的知识,希望对你有一定的参考价值。
注:suid它有局限性,只作用于可执行二进制的文件
1、查看umask值
[[email protected] ~]# umask
0022
前面第一位是权限中的特殊权限
2、查看存放密码文件
[[email protected] ~]# ls -l /etc/shadow
---------- 1 root root 799 9月 20 20:48 /etc/shadow
说明:这个是存放密码的文件,是不可以进行任何操作的,但是root这个用户却可以进行任何操作,而其实普通用户可以修改自己的密码,但这里显示的权限却是不可的,这样的说法似乎不成立,但是我们的passwd命令它是一个比较特殊的文件
查看它的权限分配:
[[email protected] ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 22 2012 /usr/bin/passwd
说明: 跟我们想象的似乎不太一样,这里有一个s,这s就代着set_uid,这个权限的作用它可以把使用这个命令的人,赋予这个人给它一种临时的权限,而这个临时权限的拥有者是root,也就是说当普通用户使用这个命令的时候,它就可以临时拥有root用户的权限,所以它才能更改自己的密码。
3、举例
[[email protected] ~]# su - wyy #切换到一个普通用户下
[[email protected] ~]$ ls /root
ls: 无法打开目录/root: 权限不够
[[email protected] ~]$ logout
[[email protected] ~]# which ls
alias ls=‘ls --color=auto‘
/bin/ls
[[email protected] ~]# chmod u+s /bin/ls #修改特殊权限
[[email protected] ~]# su - wyy
[[email protected] ~]$ ls /root
anaconda-ks.cfg install.log install.log.syslog
4、把特殊权限去掉
chmod u-s /bin/ls
5、若去掉了执行权限,小s就变成了大S
[[email protected] ~]# chmod u+s /bin/ls
[[email protected] ~]# ls -l /bin/ls
-rwsr-xr-x 1 root root 117024 11月 22 2013 /bin/ls
#去掉执行权限后
[[email protected] ~]# chmod u-x /bin/ls
[[email protected] ~]# ls -l /bin/ls
-rwSr-xr-x 1 root root 117024 11月 22 2013 /bin/ls
本文出自 “linux” 博客,转载请与作者联系!
以上是关于特殊权限之suid的主要内容,如果未能解决你的问题,请参考以下文章