Linux 文件特殊权限

Linux 文件特殊权限

linux 中除了常见的:读(r)写(w)执行(x)权限外,还有三个特殊的权限,分别是:setuid、setgid、stick bit


1. stick bit

stick bit 只对目录有效,使目录下的文件,只有文件拥有者才能删除(如果不是拥有者,就算有w权限也不能删除)

添加方法:

$ chmod o+t /tmp
$ chmod 1777 /tmp

​ 查看是否添加 stick bit:使用 ls -l,可以看到这样的权限-rwxrwxrwt, t 代表已经添加上了 stick bit 权限,而且生效了,若显示 -rwxrwxrwT ,说明虽然添加上了 sticky bit 权限,但是没有生效(因为本来 other 就没有写的权限)


2. sgid

文件:sgid 权限表示,运行这个程序时,是临时以这个文件的所属组的身份运行

文件夹:表示这个目录下创建的文件都属于文件夹所属组,而不是创建人所在组,在这个目录下创建别的目录会继承目录 sgid

添加方法:

$ chmod g+s /tmp
$ chmod 2777 /tmp

查看是否添加 sgid :使用 ls -l ,可以看到这样的权限 drwxrwsrwx ,s 就代表已经加上了 sgid ,并且生效,如果显示 drwxrwSrwx ,说明已经加上了 sgid ,但是没生效(因为本来 group 没有执行权限)


3. suid

与 sgid 类似,运行时以这个文件的拥有者身份来运行

添加方法:

$ chmod u+s /tmp
$ chmod 4777 /tmp

同样的,加了 suid 权限有这两种情况 drwsrwxrwx drwSrwxrwx


4. 总结

SUID:置于 u 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
SGID:置于 g 的 x 位,原位置有执行权限,就置为 s,没有了为 S .
STICKY:粘滞位,置于 o 的 x 位,原位置有执行权限,就置为 t ,否则为T .

posted @ 2021-04-29 12:35  -桃枝夭夭-  阅读(230)  评论(0编辑  收藏  举报