-
普通文件;d
目录文件;b
块特殊文件;c
字符特殊文件;l
符号链接;f
命名管道;s
套接字文件
SUID 用于二进制可执行文件,在 x 的位置是 s,表示执行命令的时候取得文件所属用户的权限,可以让本来没有权限执行这个命令的用户执行此命令
-rwsr-xr-x 1 root root 27856 Apr 1 2020 /usr/bin/passwd
设置方式 chmod 4xxx <file>
SBIT 用于目录,表示该目录下创建的文件,只有 root 和自己可以删除,在 x 的位置是 t.,如 tmp 目录
drwxrwxrwt. 10 root root 4096 Nov 28 21:20 /tmp
设置方式 chmod 1xxx <dir>
SGID 用于目录,在该目录下创建新的文件和目录,权限会自己更改为该目录的属组,而文件所有者不变。设置方式 chmod g+s <dir>
除了 rwx 这种标准文件权限以外,还可以通过 facl 增加更多的权限控制。
$ ls -l
# 在标准权限后有一个 + 的提示符
-rw-r--r--+ 1 root root 188416 Aug 8 18:10 docker-compose
# 读取完整的文件权限
$ getfacl docker-compose
# file: docker-compose
# owner: root
# group: root
user::rw-
user:nginx:r-- # 新增的文件权限
group::r--
mask::r--
other::r--
# 设置
setfacl -m u:nginx:r docker-compose
# 删除
setfacl -x u:nginx docker-compose