SUID SGID sticky-bit
他们的含义是:
SUID | 当配置了 SUID 位的文档被执行时,该文档将以任何者的身份运行,也就是说无论谁来执行这个文档,他都有文档任何者的特权。假如任何者是 root 的话,那么执行人就有终极用户的特权了。这时该位将变成一个安全漏洞,因此不要轻易配置该位。 |
SGID | 和上面的内容类似。文档运行时,运行者将具备所属组的特权。 |
sticky-bit | sticky 位需要操作系统既是在可执行程式退出后,仍要在内存中保留该程式的映象。这样做是为了节省大型程式的启动时间。但是会占用系统资源。因此配置该位,不如把程式写好。 |
set uid ;set gid;sticky bit区别
每一个文档有任何者及组编号,set uid ;set gid能够改变用户对文档具备的权限:写和执行.
setuid: 在执行时具备文档任何者的权限.
setgid: 配置目录. 一个目录被标上setgid位,此目录下创建的文档继承该目录的属性.
sticky bit: 该位能够理解为防删除位. 配置sticky bit位后,就算用户对目录具备写权限,但也只能添加文档而不能删除文档。
如何配置:
操作这些标志和操作文档权限的命令是相同的, 都是 chmod. 有两种方法来操作,
1) chmod u s temp -- 为temp文档加上setuid标志. (setuid 只对文档有效,U=用户)
chmod g s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)
chmod o t temp -- 为temp文档加上sticky标志 (sticky只对文档有效)
2) 采用八进制方式. 这一组八进制数字三位的意义如下,
abc
a - setuid位, 假如该位为1, 则表示配置setuid
b - setgid位, 假如该位为1, 则表示配置setgid
c - sticky位, 假如该位为1, 则表示配置sticky
配置后, 能够用 ls -l 来查看. 假如本来在该位上有x, 则这些特别标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
如:
rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)
理解文档权限
所谓的文档权限,是指对文档的访问权限,包括对文档的读、写、删除、执行。Linux 是个多用户操作系统,他允许多个用户同时登录和工作。因此 Linux 将一个文档或目录和一个用户和组联系起来。请看下面的例子:
drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
和文档权限相关联的是第一、第三、第四个域。第三个域是文档的任何者,第四个域是文档的所属组,而第一个域则限制了文档的访问权限。在这个例子中,文档的任何者是 root,所属的组是 root,文档的访问权限是 drwxr-xr-x。对于文档和目录讲,每个文档和目录都有一组权限标志和他们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个符号的意义:
该域由 10 个字符组成,能够把他们分为四组,具体含义分别是:
d rwx r-x r-x
文档类型 任何者权限标志 组权限标志 其他用户权限标志
其中:
文档类型:第一个字符。由于 Linux 系统对和设备、目录、文档都当作是文档来处理,因此该字符表明此文档的类型,字符和对应的意义如下表:



