首页 > 代码库 > Linux中的特殊权限
Linux中的特殊权限
Linux中除了普通权限之外,还有三个特殊权限。
SUID::以文件的所属用户执行,而非执行文件的用户,多用于可执行文件,设置suid后,在权限位中,所属用户的 最后一个权限为变为s,添加SUID权限可用“+s”表示。
例如:passwd
[adam@ultraera ~]$ which passwd /usr/bin/passwd [adam@ultraera ~]$ ls -l /usr/bin/passwd -rwsr-xr-x. 1 root root 25980 Feb 22 2012 /usr/bin/passwd [adam@ultraera ~]$
SGID:主要针对文件夹,在设置了SGID的文件夹中创建任何新文件都继承该文件的所属组,设置sgid后,在权限位中,所属组的最后一个权限位变为s,添加SGID权限可用“+s”表示。
例如:
[adam@ultraera ~]$ mkdir ultraera [adam@ultraera ~]$ ls -l total 4 drwxrwxr-x 2 adam adam 4096 Nov 27 21:09 ultraera [adam@ultraera ~]$ chmod g+s ultraera/ [adam@ultraera ~]$ ls -l total 4 drwxrwsr-x 2 adam adam 4096 Nov 27 21:09 ultraera [adam@ultraera ~]$ su Password: [root@ultraera adam]# mkdir -p ultraera/test [root@ultraera adam]# ls -l ultraera/ total 4 drwxr-sr-x 2 root adam 4096 Nov 27 21:09 test [root@ultraera adam]#
sticky:针对文件夹,对目录拥有写权限的用户,仅可以删除其所拥有的文件,无法删除其他用户所拥有的文件,设置了sticky之后,在权限位,other的最后一个权限位变为t,添加SGID权限可用“+t”表示。
例如:
[root@ultraera tmp]# mkdir ultraera [root@ultraera tmp]# chmod a=rwx,o+t ultraera/ [root@ultraera tmp]# ls -ld ultraera/ drwxrwxrwt 2 root root 4096 Nov 27 21:29 ultraera/ [root@ultraera tmp]# useradd user1 [root@ultraera tmp]# useradd user2 [root@ultraera tmp]# su user1 [user1@ultraera tmp]$ touch ./ultraera/test [user1@ultraera tmp]$ ls -l ultraera/ total 0 -rw-rw-r-- 1 user1 user1 0 Nov 27 21:31 test [user1@ultraera tmp]$ exit exit [root@ultraera tmp]# su user2 [user2@ultraera tmp]$ rm -f ./ultraera/test rm: cannot remove `./ultraera/test‘: Operation not permitted [user2@ultraera tmp]$
同样使用chmod来设定特殊权限,与普通权限一样,特殊权限也可以用数字表示:
suid : 4
sgid : 2
sticky : 1
chmod 4644 filename #设置文件suid权限 chmod 2755 flodername #设置文件夹sgid权限 chmod 1755 flodername #设置文件夹sticky权限
本文出自 “南非部落” 博客,请务必保留此出处http://ultraera.blog.51cto.com/6640392/1583493
Linux中的特殊权限
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。