LINUX中s和t两个特殊权限及x权限说明
今天看到有朋友讨论LINUX下文件权限的知识,从网上搜索相关资料下面记录一下备忘:
s和t两个特殊权限说明:
LINUX中除了r w x 三个权限外(分别代表r 读,w 写,x 执行),其实还有两个特殊的权限s 跟t
当s权限在文件所有者 x 权限上时,例如:-rwsr-xr-x,此时称为Set UID,简称为SUID的特殊权限,
即当执行该文件时将具有该文件所有者的权限。
例如:有一个普通用户hff,当hff修改密码时,执行passwd这个命令,passwd该文件权限为:-rwsr-xr-x
- hff对于 /usr/bin/passwd 这个程序具有 x 权限,表示hff 能执行 passwd
- passwd 文件的所有者是 root
- hff 执行 passwd 的过程中,会暂时获得 root 的权限
- /etc/shadow 就可以被 hff 所执行的 passwd 所修改。
当s权限在文件组 x 权限上时,例如:-rwx–s–x,此时称为Set GID,简称为SGID的特殊权限,
我理解的是:执行者在执行该文件时将具有该文件所属组的权限。
还有一个t权限,Sticky Bit,简称为SBIT权限,只针对目录有效。
-当用户对此目录具有 w, x 权限,亦具有写入的权限时
-当用户在该目录下创建文件或目录时,仅有自己与 root用户才有权限删除该文件或目录
例如:
/tmp 本身权限是drwxrwxrwt,表示任何人都可以在/tmp目录内新增、修改文件,但是只有该文件或目录的建立都与root用户能够删除自己的文件或目录。
x权限说明:
添加x的说明:如果目录具有 x 权限,例如 drwx–x–x,则所属组和其它用户都可以进入该目录,并可以查看该目录下的文件的内容,但是不能使用ls命令查看该目录下的内容,不能在该目录下创建文件或目录:
例如 hff用户的/home/hff 目录具有 drwx–x–x 属性,你知道该目录下有一个test文件,则使用oracle用户可以直接查看该文件的内容 cat /home/hff/test,但是oracle用户不能在/home/hff目录创建文件或目录。