Linux 文件特殊权限

2021/4/30 7:59:42

本文主要是介绍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 .



这篇关于Linux 文件特殊权限的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程