--- title: "Linux 文件系统中的权限" date: 2021-09-29T21:04:52+08:00 tags: [] categories: [] weight: 50 show_comments: true draft: false --- ## 普通权限 ### READ 对文件来说, 就是文件的读取权限, 如 `cat` . 对目录来说, 就是查询目录下文件结构的权限, 如 `ls` . ### WRITE 对文件来说, 就是文件的写入权限, 如重定向输出到这个文件. 对目录来说, 就是修改此目录下的文件结构的权限, 包括创建文件/删除文件/移动文件. ### EXECUATE 对文件来说, 就是文件的执行权限. 对于目录来说, 就是进入此目录的权限, 并控制访问此目录中的其他文件或目录的权限, **若无此权限, 则目录的读写权限也会受到影响**. ## 额外权限 ### SUID (user+s) 标记到文件(file)时, 此文件在运行时, 会以文件属主的身份运行. 标记到目录(directory)时, 不会有任何作用. > 如命令 `sudo` 就是属主为 root 的添加 SUID 标记的可执行文件. ### SGID (group+s) 标记到文件时, 文件在运行时会以文件属组的身份运行. 标记到目录(directory)时, 所有在此目录下创建的文件, 其属组均会变为该目录的属组. (移动文件至此目录下属组不会改变) ### STICKY (other+t) 标记到文件时, 不会产生任何效果. 标记到目录时, 对于此目录下的所有文件, 将仅有这些文件的属主分别对其有删除权限. ## 参考: 1. [https://www.redhat.com/sysadmin/suid-sgid-sticky-bit](https://www.redhat.com/sysadmin/suid-sgid-sticky-bit) 2. [https://superuser.com/questions/471844/why-is-setuid-ignored-on-directories](https://superuser.com/questions/471844/why-is-setuid-ignored-on-directories) 3. [https://unix.stackexchange.com/questions/21251/execute-vs-read-bit-how-do-directory-permissions-in-linux-work](https://unix.stackexchange.com/questions/21251/execute-vs-read-bit-how-do-directory-permissions-in-linux-work)