linux的特殊权限special permissions 研究

以下文章转载自http://blog.csdn.net/liuyuan_jq/article/details/1819085

linux特殊权限:setUid, setGid, 粘着位(sticky)

(1)目录的X权限(执行).
文件的可执行权限很简单,也就是可否执行它的意思,但目录的执行权限又代表什么意思呢?

当然不可能是要执行这个目录了,其实这个执行权限如果用在目录上时,它不再

代表执行的意思了,而是代表"搜索"权限。当你要访问/etc/httpd.conf文件时,您

必须拥有对目录etc的X(即搜索)权限,否则即便你对目

录/etc和文件httpd.conf拥有读取权限,也是无法访问httpd.conf这个文件的.

(2)setUid, setGid

即:设置-用户ID位,设置-组ID位。

当一个程序一旦设置了该标记以后,运行该程序的进程将拥有该程序所有

者同样的权限,比如你的某个程序是由root所有,又设置了SetUid位,那即便是一个

普通用户运行这个程序,但该程序的身份一样是超级用户的身份了,可以访问所有只能由root用户访问的资源.

setUid命令用法:

提升使用者的权限,普通用户可以执行改命令,使自己升级为root

chmod 4755 your_program

setGid命令用法:

与setUid类似,使得使用者在执行该文件时,都绑定了文件所有组的权限,单独setGid的文件非常少用,通常都是即setUid又setGid.

chmod 2755 your_program

setUid and setGid命令用法:

通常不是用来提升权限的,而是为了绑定某个特殊用户及其组的特殊权限.

chmod 6755 your_program

(3)粘着位(sticky)

eg:

chmod 777 abc

chmod +t abc

等价于

chmod 1777 abc

在以前旧的系统当中,如果一个程序文件一旦设置了粘着位,那么当该程序中止

的时候他的所有指令段将被保

存到系统的交换分区当中,再次运行时可以更快的调入系统.不过现在的操作系统

已经不再使用这种功能了.但这

并不表示这功能已经完全被废弃.当一个目录设置为粘着位时,它将发挥特殊的作

用,即当一个目录被设置为"粘着位"(用chmod a+t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
也就是说,即便该目录是任何人都可以写,但也只有文件的属主才可以删除文件

----------------------------------------------------------------------------------

另外也可以参考如下的文章

http://www.guanwei.org/post/LINUXnotes/09/linuxmulu.html

你可能感兴趣的:(Permission)