天天看点

Linux下的特殊文件权限(suid sgid sbit)

特殊文件权限

·1-Sbit (sticky bit): 对文件/目录均有效.可以理解为防删除位.一个文件/目录只有属主有权限执行删除、移动等操作,即使文件/目录所属组或者其他用户拥有写的权限也只能修改而不能删除/移动文件。

·2-SGID    (setgid): 只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.

·4-SUID    (setuid): 只对文件有效.设置使文件在执行阶段具有文件所有者的权限. 典型的文件是/usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.

注: 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)

[root@rhel6 data]# touch test test1 test4

[root@rhel6 data]# mkdir test2

[root@rhel6 data]# chmod 1644 test1     "1=o+t,即设置sbit"

[root@rhel6 data]# chmod 2755 test2     "2=g+s,即设置sgid"

[root@rhel6 data]# chmod 4755 test4     "4=u+s,即设置suid"

[root@rhel6 data]# ll  

-rw-r--r--  1 root root    0    10-25 09:55 test

-rwxrwxrwt  1 root root    0    10-25 09:55 test1

drwxr-sr-x  2 root root 4096    10-25 09:55 test2

-rwsr-xr-x  1 root root    0    10-25 09:55 test4

[root@rhel6 data]# su - xfcy ;cd /data/

[xfcy@rhel6 data]$ rm test1

rm: 无法删除 “test1”: 权限不够                       //设置了sticky位,即使用户对文件具有写权限,也不能删除该文件

[xfcy@rhel6 data]$ touch test2/test2

[xfcy@rhel6 data]$ ll test2/test2  

-rw-rw-r-- 1 xfcy root 0 10-25 10:31 test2/test2  //设置了SGID,任何用户在此目录下创建的文件都具有和该目录所属的组相同的组

[xfcy@rhel6 data]$ ll /usr/bin/passwd  

-rwsr-xr-x 1 root root 27768 2006-07-17 /usr/bin/passwd

[xfcy@rhel6 data]$ passwd &

[xfcy@rhel6 data]$ ps -ef | grep passwd

root     11340 11308  0 10:35 pts/0    00:00:00 /usr/bin/passwd  //设置了SUID,使文件在执行阶段具有文件所有者的权限

     本文转自Vnimos51CTO博客,原文链接:http://blog.51cto.com/vnimos/1042805,如需转载请自行联系原作者

上一篇: /etc/inittab
下一篇: sort uniq

继续阅读