当s这个标志出现在文件的拥有者(owner)的x权限上时,此时称为Set UID,简称为SUID的特殊权限。例如:/usr/bin/password
[root@rhel6164 ~]# ls -l /usr/bin/passwd
-rwsr-xr-x. 1 root root 32200 Jan 29 2010 /usr/bin/passwd
SUID的作用:
当s标志出现在群组(group)的x时称为Set GID,简称SGID的特殊权限。例如:/usr/bin/locate
[root@rhel6164 ~]# ll /usr/bin/locate
-rwx--s--x. 1 root slocate 42032 Mar 30 2010 /usr/bin/locate
不像SUID只能对文件有效,SGID不仅对文件有效,对目录也是有效的。
SGID针对文件的作用:
SGID针对目录的作用:
SBIT只对目录有效。例如:/tmp
[root@rhel6164 ~]# ll -d /tmp
drwxrwxrwt. 17 root root 4096 Oct 26 11:45 /tmp
SBIT的作用:
SUID/SGID/SBIT组成了文件或目录的特殊权限,如果在新建文件或者目录的时候需要用到这些特殊权限,可以用chmod来完成。
[root@rhel6164 ~]# cd /tmp
[root@rhel6164 tmp]# touch test #新建文件,默认权限为0644
[root@rhel6164 tmp]# chmod 4755 test; ls -l test #增加SUID,并需要执行者具有x权限
-rwsr-xr-x 1 root root 0 Oct 26 12:13 test
[root@rhel6164 tmp]# chmod 6755 test; ls -l test #增加SGID,并也需要执行者具有x权限
-rwsr-sr-x 1 root root 0 Oct 26 12:13 test
[root@rhel6164 tmp]# chmod 1755 test; ls -l test #增加SBIT,并也需要执行者具有x权限
-rwxr-xr-t 1 root root 0 Oct 26 12:13 test
[root@rhel6164 tmp]# chmod 7666 test; ls -l test #增加SUID/SGID/SBIT,但是执行者没有具有x权限,其实修改的都是空的特殊权限,用大写字母表示(S,T)
-rwSrwSrwT 1 root root 0 Oct 26 12:13 test