1.SUID:冒险位,s出现在文件所有者的x权限上
chmod u+s file 或 chmod 4777 file
只能用于二进制可执行文件,对目录无效
为了让一般执行者临时具有该文件所有者的执行权限
执行者若具有该文件的x权限,则将具有文件所有者的权限
权限只在文件执行时有效,执行完毕不再拥有所有者权限,比如:
/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了让普通用户能修改自己的密码只能临时让他们拥有root的权限,所以这个s权限就是用来完成这个特殊任务的
[root@desktop1 ~]# ll /bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 29 2014 /bin/passwd
2.SGID:粘制位,s出现在文件所有组的x权限上
SGID对于文件来说:
1)SGID只对二进制可执行文件有效
2)执行者若具有该文件的x权限,则将具有文件所属群组的权限
3)权限只在文件执行时有效,执行完毕不再拥有所属群组权限
SGID和SUID不同,可以用于目录,比如:
用root用户新建一个test目录,其他人所具有的权限可读,可写,可执行..当我们以lmf1用户的身份切换到另一个终端..进入到test目录中,我们在此目录中创建一个目录a和一个文件b
[root@desktop1 mnt]# mkdir test
[root@desktop1 mnt]# chmod 2777 test 或chmod g+s test
[root@desktop1 mnt]# ll
total 0
drwxrwsrwx. 2 root root 6 Feb 27 18:20 test
[root@desktop1 mnt]# su lmf1
[lmf1@desktop1 mnt]$ cd /mnt/test
[lmf1@desktop1 test]$ mkdir a
[lmf1@desktop1 test]$ touch b
[lmf1@desktop1 test]$ ll
total 0
drwxr-sr-x. 2 lmf1 root 6 Feb 27 18:24 a
-rw-r--r--. 1 lmf1 root 0 Feb 27 18:24 b
我们可以看到目录a和文件b的所属组都为root,当你将一个test目录置为sgid权限时候,如果其他人有读取,执行和写入的权限时,别人在此目录中创建的任何文件和目录的所属组都为test目录的所属组..但所属主还是自己...这个会经常的用到....有一点大家得注意...就是任何人在test目录中创建的东西.别人都可以删掉...这就是我们下面要讲到的SBIT....
3.SBIT,全称Sticky Bit,强制位
t出现在文件其他用户的x权限上
只针对目录有效,对文件无效
作用是只能让文件所有者以及root删除(重命名/移动)该目录下的文件,
防止别人删除自己的资料,比如:
[root@desktop1 mnt]# mkdir test
[root@desktop1 mnt]# chmod 1777 test 或chmod o+t test
[root@desktop1 mnt]# ls -ld test
drwxrwxrwt. 2 root root 6 Feb 27 08:18 test
[root@desktop1 mnt]# su lmf1
[lmf1@desktop1 mnt]$ touch test/file1
[lmf1@desktop1 mnt]$ ll test/file1
-rw-r--r--. 1 lmf1 lmf 0 Feb 27 08:19 test/file1
[lmf1@desktop1 mnt]$ exit
[root@desktop1 mnt]# su lmf2
[lmf2@desktop1 mnt]$ touch test/file2
[lmf2@desktop1 mnt]$ ll test/file2
-rw-rw-r--. 1 lmf2 lmf2 0 Feb 27 08:19 test/file2
[lmf2@desktop1 mnt]$ rm -fr test/file1
rm: cannot remove ‘test/file1’: Operation not permitted
[lmf2@desktop1 mnt]$ exit
[root@desktop1 mnt]# su lmf1
[lmf1@desktop1 mnt]$ rm -fr test/file2
rm: cannot remove ‘test/file2’: Operation not permitted
[root@desktop1 test]# su lmf1
[lmf1@desktop1 test]$ rm -f file1
[lmf1@desktop1 test]$ ll
total 0
-rw-rw-r--. 1 lmf1 lmf2 0 Feb 27 08:19 file2
[root@desktop1 test]# chown lmf1 file2
[root@desktop1 test]# su lmf2
[lmf2@desktop1 test]$ rm -f file2
rm: cannot remove ‘file2’: Operation not permitted
***如果不加强制位的话,任意用户都可以删除test下的文件