Linux基础——特殊权限
特殊权限
SUID SGID Sticky
SUID:主要用于操作执行权限,当用户运行某个程序时(即执行权限),如果该程序具有SUID,则该程序在运行时使用属主的权限,与发起执行的用户无关。
例如:
/etc/shadow文件,其权限为000,即 --------- root root /etc/shadow
/bin/cat为可执行文件,其权限为755,即rwxr-xr-x root root /bin/cat
其他用户在执行/bin/cat /etc/shadow时会提示权限不够,无法执行
但是当给/bin/cat 赋予SUID之后,其他用户也可以执行上述操作
显示提示:显示在属主的执行权限位上,如果原本有x,则显示为小写s,否则为大写S
chmod u+|- s FILE
SGID:主要用于管理目录,当一个目录具有写权限时,且有SGID之后,只要属于该组的用户在该目录内新建文件时,文件的属组为目录的属组,非用户主组
例如:
一个目录的权限为rwxrwx--- user1:user3 /tmp/test
当一个用户(user2,其主组为user2,附加组为user3)在此目录下创建文件时,生成的文件属组为user2
一个目录的权限为rwxrws--- user1:user3 /tmp/test
当一个用户(user2,其主组为user2,附加组为user3)在此目录下创建文件时,生成的文件属组为user3
当不同用户创建的文件属组都相同,因此不同用户对所有文件都有修改删除等的权限
显示提示:显示在属组的执行权限位上,如果原本有x,则显示为小写s,否则为大写S
chmod g+|-s FILE
Sticky: 一般和SGID一同使用,当一个目录具有Sticky之后,不同用户创建的文件,其他用户没有删除权限
显示提示:显示在其他人的执行权限位上,如果原本有x,则显示为小写t,否则为大写T
chmod o+|-t FILE
注意:SGID和Sticky权限的主要用法类似于代码管理,不同的用户都可以创建并修改自己的文件,但是其他人的文件不能动
使用场景:
1.代码管理,所有用户均有自己的用户名和主组(user01:user01/user02:user02/user03:user03);
2.添加所有用户的附加组为统一的管理组mygrp;
3.创建一个目录,其属组为mygrp(mkdir /home/test,chmod g+w /home/test,chown :mygrp /home/test)
4.修改目录权限+g,+t
5.使用不同用户在次目录下创建文件,所创建的文件的属主为该用户,属组全部的都为mygrp,且不同用户不能删除其他用户的文件
注意:SGID和Sticky权限的主要用法类似于代码管理,不同的用户都可以创建并修改自己的文件,但是其他人的文件不能动
也可以使用八进制表示法对权限进行修改,如chmod 1777 /tmp/file
|
SUID |
SGID |
STICKY |
八进制表示 |
|
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
2 |
|
0 |
1 |
1 |
3 |
|
1 |
0 |
0 |
4 |
|
1 |
0 |
1 |
5 |
|
1 |
1 |
0 |
6 |
|
1 |
1 |
1 |
7 |
浙公网安备 33010602011771号