特殊权限
1:粘制位 sticky
对象:目录
作用:当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
符号:o+t t=1 1777
例子:
[[email protected] mnt]# mkdir dd
[[email protected] mnt]# touch dd/file
ll
-rw-r--r-- 1 root root 0 Jul 22 04:54 file1
[[email protected] mnt]# chmod 777 dd/file
[[email protected] mnt]# chmod 777 dd/[[email protected] mnt]$ rm -fr dd/file ##root新建用户,student可以删除
[[email protected] mnt]# chmod 1777 dd/ ##给权限后
[[email protected] mnt]# touch dd/file1
[[email protected] mnt]# su student
[[email protected] mnt]$ rm -fr dd/file1
rm: cannot remove ‘dd/file1’: Operation not permitted ##不能删除
2:冒险位 suid
对象:二进制可执行文件
作用:文件内记录的程序产生的进程的所有人为文件所有人
和进程发起人身份无关
设定方式:
chmod u+s file
suid=4
chmod 4xxx file
例子:
[[email protected] mnt]# which touch
/usr/bin/touch
[[email protected] mnt]# chown student /usr/bin/touch #把touch的所有人改为student
[[email protected] mnt]# ll /usr/bin/touch
-rwxr-xr-x. 1 student root 62432 Jan 24 2014 /usr/bin/touch
[[email protected] mnt]# touch file
[[email protected] mnt]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 05:11 file #用root用户建立的文件所有人为root
[[email protected] mnt]# chmod 4777 /usr/bin/touch #给权限
[[email protected] mnt]# touch file2
[[email protected] mnt]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 05:11 file
-rw-r--r-- 1 student root 0 Jul 22 05:11 file2 #建立的文件为二进制文件所有人的
3:强制位 sgid
对象:文件/目录
作用:
文件:只针对二进制可执行文件,任何人运行二进制文件,程序时程序产生的进程的所有组都是文件的所有组,和程序发起人组的身份无关 此条和上述冒险位类似
目录:当当目录有sgid权限后,目录中新建的所有文件的所有组 都自动归属到目录的所有组之中,和文件建立者所在的组无关
设定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
例子:对于二进制文件
[[email protected] mnt]$ touch file1
[[email protected] mnt]$ ll
total 0
-rw-rw-r-- 1 student student 0 Jul 22 05:20 file1
[[email protected] mnt]$ exit
[[email protected] mnt]# chmod 2777 /usr/bin/touch
[[email protected] mnt]# su student
[[email protected] mnt]$ touch file2
[[email protected] mnt]$ ll
total 0
-rw-rw-r-- 1 student student0 Jul 22 05:20 file1
-rw-rw-r-- 1 student root 0 Jul 22 05:20 file2