Linux权限管理 - 教程

一、普通权限

在多用户计算机系统的管理中,权限是指某个特殊的用户具有特定的系统资源使用权力,像是文件
夹、特定系统指令的使用或存储量的限制。

1、概述

1.1、权限类型

r(read)表示可读权限,有了可读权限,就可以读取文件的内容。

w(write)表示可写权限,有了可写权限,就许可在档案中写入或删除内容。

x(execute)表示可执行权限,有了可执行权限,就可以执行该文件,对于目录来讲,x进入权限。

- 表示没有某个权限

权限的排列方式
Linux下表示
二进制表示
八进制表示
只读
r--1004
只可写
-w-0102
只可执行
--x0011
可读可写
rw-1106
可读可执行
r-x1015
可写可执行
-ws0113
可读可写可执行
rwx1117
空权限
---0000

1.2、文档访问者的分类

对于一个文件或目录,在Linux中有三种角色:
文档的所有者u userowner,属主
文件所有者的所属组g group),属组
其他用户o others),除属主和不在属组内的用户
全部用户aall

1.3、文件类型

Linux中,资料有如下几种类型:
d :文件夹
- :普通文件
l :软链接(类似Windows的快捷方式)
b :块设备文件(例如硬盘、光驱等)
p :管道文件
c :字符设备文件(例如屏幕等串口设备)
s :套接口档案

2、普通权限管理命令

2.1chmod命令

改变文件的访问权限,权限的赋予可以使用:+,增加权限;-,删除权限;=,赋予权限

字符赋权

数字赋权,属主和数组可读写,其他用户无权限
递归修改目录本身及子目录档案的权限用-R选项

2.2chown命令

修改记录所有者和组别
1)改变属主
2)改变属组
3)改变属主和数组
4)递归修改目录本身及子目录资料的属主与数组
-R 递归地修改目录及其下面内容的所有权

2.3umask命令

显示(root用户为0022,普通用户为0002)或设定文件模式掩码,设定用户文件创建掩码为 MODE 模式。如果省略了 MODE,则打印当前掩码的值;
当设置umask掩码为奇数时,针对文件来说具有了x执行权限,与框架默认文件不具有x执行权相冲
突,此时,权限较小则进位,权限较大则减位。
umask [-p] [-S] [模式]
-p 如果省略 MDOE 模式,以可重用为输入的格式输入
-S 以符号形式输出,否则以八进制数格式输出
1)查看权限掩码
2临时的,切换就是)修改权限掩码,只shell或重启系统将失效

二、特殊权限

1、概述

linux系统中,我们熟知有rwx三种权限,对应所有者,同组用户,其他用户三种用户的权限,一
般而言,这三种权限已经能够满足需求,但针对一些特殊情况,还需要有三种特殊权限来完善文件权限的管理。
权限类型
SUID权限
set UID,第3位上表现为s,对应数字为4
如果该属主权限位上有执行权限,则会显示(小写)s
如果该属主权限位上没有执行权限,则会显示(大写)S
只要一个命令文件在属主权限位上的x变成s的话,那么其它用户在执行这个命令文件时,就会
以该命令文件的属主用户身份去执行
suid仅对二进制可执行程序有用,其它文件或目录无效。
应用场景:用户命令临时提权

SGID权限
set GID,第6位上表现为s,对应数字为2
若是该属组权限位上有执行权限,则会显示(小写)s
该属组权限位上没有执行权限,则会显示(大写)就是要S
SGID设置给目录使用就是改变的是执行者的所属组,可以对可执行文件和目录设置。一般情况下
的,通过对目录设置SGID通过属性,能够使得访问在该目录下创建的所有材料的所有权,都继承原
目录的所有者,而非创建者。基于一旦有用户进入到该目录下,由于具有SGID权限,进入目录
后的用户就会变成该目录的属组所有者,在该目录下创建的所有文件,都以该目录的所有者的
身份创建。
应用场景:用于文件共享
SBIT权限
SBIT权限同样只对目录有效,在权限位的最低位表现为t,对应数字为1
如果该其它用户权限位上有执行权限,则会显示(小写)t
如果该其它用户权限位上没有执行权限,则会显示(大写)T
通过对目录设置SBIT权限,并且该目录的权限为777,则所有用户可以在该目录下都可以创建
文件,并且文件所有者是自己。但是在SBID权限的目录下,只有root和文件的所有者才能删除
该文件,即使文件的属性为777也不能被其他用户删除。
sticky目录表现在others x 位,用(小写)t 表示,没有执行权限时(大写)T,一个目录即
使使得它的权限为“777” ,如果设置了粘滞位,除了目录的属主和“root”用户有权限删除,其它
用户都不允许删除。
应用场景:保护文件的私有性,防止误删除

2、案例

2.1SUID权限

用户命令的临时提权。只针对二进制指令。

如果普通用户在采用passwd命令时,是以root用户身份去执行的话,那普通用户是不是允许修改其它用户的密码?
答:是不允许的,因为在passwd命令中,存在一种判断,此判断会在执行passwd命令时去判断执行的用户时是root普通用户,那么只能使用就是还是普通用户,假设passwd命令,后面不可加上参数,如果是 root用户,后面才可加上其它参数(参数就是用户)。那么普通用户就无法进行修改其它用户的密码。

无权限无法更改密码

返回进行提权

即可进行密码更改

2.2SGID权限

使用提权后可让其他用户在当前目录创建的目录与文件的属组为root

用于文件共享。

2.3SBIT权限

三、ACL权限

1、概述

读、写、执行权限是用户操作文件、目录的权限。ACL权限也是用户对文件是否有读、写、执行的权限。目录或文件的所有者、所属组、其他人的权限都已经设定,但是如果想要让新用户对文件、目录有不同的权限(不同于所有者、所属组、其他人的权限),为了满足此种特殊的需求,需要对用户单独设置ACL权限。是否支持ACL权限,不是档案支持也不是用户承受,而是记录所在的分区是否拥护ACL权限。
查看分区ACL权限是否开启dumpe2fs

2、管理命令

2.1setfacl命令

设置文件访问权限列表,即acl
-m 修改文件的当前ACL
修改后
修改前

2.2getfacl命令

查看文件的ACL
posted @ 2025-08-10 15:38  yjbjingcha  阅读(8)  评论(0)    收藏  举报