一、简述
Linux基本权限表示符:r(可读)、w(可写)、x(可执行),其对应数字:4(可读)、2(可写)、1(可执行)。
Linux基本权限位:user(属主)、group(属组)、other(其它用户)。
安全上下文(前提:进程、文件拥有有属主和属组)
1.任何一个可执行程序文件能否启动为进程,取决于发起者对此程序文件是否拥有可执行权限。
2.启动为进程之后,其进程的属主为发起者,属组为发起者所属组。
3.进程访问文件时的权限,取决于进程的发起者对所访问文件的权限。
3.1)进程的发起者,同文件的属主,则应用文件“属主”权限。
3.2)进程的发起者不同于文件的属主,但属于文件的属组,则应用文件“属组”的权限。
3.3)进程的发起者既不是文件的属主,也不是文件的属组,则应用文件“其它”的权限。
二、使用
Linux文件系统上的特殊权限分类:SUID,SGID,Sticky。
1.SUID
占据属主的执行权限位,仅能用于二进制程序,对目录无效。
1.1)任何一个可执行程序文件是否能够启动为进程,取决于发起者对程序文件是否有执行权限。
1.2)启动为进程后,其进程属主为原程序文件的属主。
1.3)权限设定
方式 |
---|
chmod u+s FILE... |
chmod u-s FILE... |
2.SGID
占据group的执行权限位。
普通用户对于该文件有执行权限的前提下,让普通用户拥有可以执行“只有root权限才能执行”的特殊权限。
2.1)默认情况下,用户创建文件时,其属组为此用户所属的基本组。
2.2)一旦目录设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属组为此目录的所属组。
2.3)权限设定
方式 |
---|
chmod g+s DIR... |
chmod g-s DIR... |
3.Sticky
占据other的执行权限位。
对于一个多人可写目录,如果设置了Sticky,则每个用户仅能删除自己的文件。
权限设定
方式 |
---|
chmod o+t DIR... |
chmod o-t DIR... |
4.特殊权限的使用
4.1)权限组合
SUID | SGID | STICKY | 数值 | 案例(-rwxrwxrwx) |
---|---|---|---|---|
0 | 0 | 0 | 0 | -rwxrwxrwx |
0 | 0 | 1 | 1 | -rwxrwxrwt |
0 | 1 | 0 | 2 | -rwxrwsrwx |
0 | 1 | 1 | 3 | -rwxrwsrwt |
1 | 0 | 0 | 4 | -rwsrwxrwx |
1 | 0 | 1 | 5 | -rwsrwxrwt |
1 | 1 | 0 | 6 | -rwsrwsrwx |
1 | 1 | 1 | 7 | -rwsrwsrwt |
4.2)权限设定案例
[root@wybaron_host1015 ~]# ll /tmp/cc.txt
-rw-r--r-- 1 root root 19 10月 3 13:35 /tmp/cc.txt
[root@wybaron_host1015 ~]# chmod 3777 /tmp/cc.txt
[root@wybaron_host1015 ~]# ll /tmp/cc.txt
-rwxrwsrwt 1 root root 19 10月 3 13:35 /tmp/cc.txt
三、补充
权限位映射
SUID
s:属主拥有执行权限
S:属主没有执行权限
SGID
s:属组拥有执行权限
S:属组没有执行权限
Sticky
t:other拥有执行权限
r:other没有执行权限