首页 > 代码库 > linux 文件特殊权限冒险位强制位粘制位
linux 文件特殊权限冒险位强制位粘制位
特殊权限
1:粘制位 sticky
对象:目录
作用:当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
符号:o+t t=1 1777
例子:
[root@localhost mnt]# mkdir dd
[root@localhost mnt]# touch dd/file
ll
-rw-r--r-- 1 root root 0 Jul 22 04:54 file1
[root@localhost mnt]# chmod 777 dd/file
[root@localhost mnt]# chmod 777 dd/[student@localhost mnt]$ rm -fr dd/file ##root新建用户,student可以删除
[root@localhost mnt]# chmod 1777 dd/ ##给权限后
[root@localhost mnt]# touch dd/file1
[root@localhost mnt]# su student
[student@localhost mnt]$ rm -fr dd/file1
rm: cannot remove ‘dd/file1’: Operation not permitted ##不能删除
2:冒险位 suid
对象:二进制可执行文件
作用:文件内记录的程序产生的进程的所有人为文件所有人
和进程发起人身份无关
设定方式:
chmod u+s file
suid=4
chmod 4xxx file
例子:
[root@localhost mnt]# which touch
/usr/bin/touch
[root@localhost mnt]# chown student /usr/bin/touch #把touch的所有人改为student
[root@localhost mnt]# ll /usr/bin/touch
-rwxr-xr-x. 1 student root 62432 Jan 24 2014 /usr/bin/touch
[root@localhost mnt]# touch file
[root@localhost mnt]# ll
total 0
-rw-r--r-- 1 root root 0 Jul 22 05:11 file #用root用户建立的文件所有人为root
[root@localhost mnt]# chmod 4777 /usr/bin/touch #给权限
[root@localhost mnt]# touch file2
[root@localhost 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
例子:对于二进制文件
[student@localhost mnt]$ touch file1
[student@localhost mnt]$ ll
total 0
-rw-rw-r-- 1 student student 0 Jul 22 05:20 file1
[student@localhost mnt]$ exit
[root@localhost mnt]# chmod 2777 /usr/bin/touch
[root@localhost mnt]# su student
[student@localhost mnt]$ touch file2
[student@localhost 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
本文出自 “12462896” 博客,请务必保留此出处http://12472896.blog.51cto.com/12462896/1950037
linux 文件特殊权限冒险位强制位粘制位