Linux的三种特殊权限在生产环境中使用的并不多,不过在学习中也需要了解
- SET UID
SET UID应用于可执行的普通文件,当一个文件被设置SET UID权限时,任何人一旦执行该文件,就会临时获得文件拥有人的权限。
[root@iZ2ze7o9yr29yzuog8ucaoZ ~]# ls -l /bin/passwd
-rwsr-xr-x. 1 root root 27856 4月 1 2020 /bin/passwd
#在文件拥有者权限列的执行权限位置,如果该位置是s或者S就表示该文件被设置了SET UID特殊权限
2. SET GID
SET GID应用于目录文件,当一个目录文件被设置SET GID权限时,任何用户在该目录下创建文件,文件所属组都会变成SET GID那个目录的所属组。
[root@iZ2ze7o9yr29yzuog8ucaoZ ~]# ls -ld dir1
drwxr-sr-x 2 root root 4096 6月 23 17:04 dir1
#在文件所属组权限列的执行权限位置,如果该位置是s或者S就表示该目录文件被设置了SET GID的特殊权限
3. Sticky(粘滞位)
针对有写权限目录设置的特殊权限位,当一个有写权限的目录被设置了Sticky特殊权限,那么任何人在该目录下创建的文件就只有自己和root可以删除。该特殊权限位,限制了目录的写权限。
对于目录的写权限有点太大了,Sticky就是为了限制目录写权限的。
[root@iZ2ze7o9yr29yzuog8ucaoZ tmp]# ls -ld
drwxrwxrwt. 14 root root 69632 6月 23 16:30 .
#如果其他人权限列的执行权限位置,被设置为t或者T,就表示改文件被设置了Sticky特殊权限
当设置特殊权限时,执行权限会被“覆盖”,如果是小写的特殊权限,那么执行权限就还在,如果是大写的特殊权限,那么执行权限就不在了。
以上为Linux系统下的三种特殊权限的介绍以及用法