Linux权限管理

article/2025/8/30 0:30:36

1.ACL权限

1.1ACL权限简介与开启

所有者、所属组和其他人的权限不够用,专门为用户设定独立的权限

#查看分区ACL权限是否开启

dumpe2fs -h /dev/sda3

如下图:蓝框就表示该分区具有acl权限

 #临时开启分区ACL权限

mount -o remount,acl /        #重新挂载根分区,并加入acl权限#

#永久开启ACL权限

修改/etc/fsatb 在对应的分区options那一列加上【,acl】

注意:ACL权限一般Linux都会默认开启,即不用设定

1.2 查看与设定ACL权限

#设定acl权限

setfacl 选项 文件名

-m        设定ACL权限

-x         删除指定的ACL权限

-b         删除所有的ACL权限

-d         设定默认的ACL权限

-k         删除默认的ACL权限

-R        递归设定ACL权限

例如:setfacl -m u:test:rx /project        #给用户st单独赋予rx权限

setfacl -m g:group2:rx /project        #给组group2分配acl权限

# 查看acl权限

getfacle 文件名

 示例如下

 如图,对project目录设定acl权限后,权限一列后多了个+号,且getfacl查询,发现对test用户有单独的r和x权限,如红框所示。

1.3最大有限权限与删除acl权限

mask权限是用来指定最大有效权限的。如果给用户赋予了acl权限,需要与mask权限相“与”才能得到用户的真正权限。mask权限可通过getfacl查询,如上图中的mask一行。目的是防止给用户权限过高。

#设定mask权限为rx

setfacl -m m:rx 文件名

#删除acl权限

 setfacl -x u:用户名 文件名        #删除指定用户的acl权限

setfacl -b 文件名                       ##删除文件所有的acl权限

1.4 默认ACL权限和递归ACL权限

递归是父目录在设定ACL权限时,所有子文件和子目录也会拥有相同的acl权限。

# 设定递归文件夹的acl权限

setfacl -m u:用户名:权限 -R 文件夹            #加选项-R 

默认是给文件夹设定默认的acl权限后,新建的子文件都会继承默认的acl权限

#设定默认的acl权限

setfacl -m d:u:用户名:权限 文件夹

2.文件特殊权限

2.1  SetUID

SetUID功能:命令执行者在执行二进制程序时可以获取该程序的所有者身份,SetUID权限只在程序执行过程中有效

例如:passwd命令就拥有SetUID权限,普通用户在执行passwd命令时就当root用户执行passwd

 如上图,所有者的可执行权限变为s,且文件标红色。

#设定SetUID方法

chmod 4755 可执行程序       #4代表SUID,第一位表示特殊权限,后面为所有者、所属组、其他人权限

chmod u+s 可执行程序

# 取消SUID权限

chmod 755 可执行程序

chmod u-s 可执行程序

如下图,对abc文件设定和取消SUID权限

 

 注意:(1)一定要是可执行文件或者脚本;(2)命令执行者要对其有可执行权限,否则SUID权限增加不成功。

2.2 SetGID

SetGID功能:

针对文件:

命令执行者在执行程序时,组身份升级为该程序文件的属组,SetGID权限只在程序执行过程中有效,即组身份改变只在程序执行过程中有效。

针对目录:

普通用户必须对此目录有r和x权限,才能进入此目录;

普通用户在此目录中的有效组会变成此目录的属组;

若普通用户对此目录拥有w权限时,新建的文件的默认属组是这个目录的属组。

#设定SetGID方法

chmod 2755 可执行程序或目录      #2代表SGID

chmod g+s 可执行程序或目录

# 取消SUID权限

 chmod 755 可执行程序或目录

chmod g-s 可执行程序或目录

例如:

在/tmp/test目录拥有SGID权限后, 用sc用户在/tmp/test目录中创建新文件,所属组本该是sc,但是由于SGID权限,创建后的新文件所属组是root。

2.3 Sticky BIT

粘着位作用:

要求:仅对目录有效,且普通用户对此目录有w和x权限,即普通用户可以在此目录拥有写入权限;

如果没有粘着位,普通用户拥有w权限,可以删除此目录下的所有文件,一旦有粘着位,只有root可以删除所有文件,普通用户只能删除自己建立的文件,但是不能删除其他用户建立的文件。

例如:/tmp文件夹

 即在tmp目录下,只允许用户删除自己建立的文件。

#设置粘着位权限

chmod 1755 目录名       #1代表粘着位权限

chmod o+t 目录名

 #取消SUID权限

chmod 755 目录名

chmod o-t 目录名

3. 文件系统属性chattr权限

#设置文件系统属性

chattr [+-=] [选项] 文件或目录名

i:如果对文件设置i属性,不允许对文件进行删除、改名,也不能添加和修改数据;如果对目录设置i属性,那只能修改目录下文件的数据,但不允许建立和删除文件

a:如果对文件设置a属性,那只能在文件追加数据,但不能删除也不能修改数据;如果对目录设置a属性,那只能在目录中建立和修改文件,但是不允许删除

注意:该命令对root用户也有效

 #查看文件系统属性

lsattr 选项 文件名

-a 显示所有文件和目录

-d 若是目录,仅列出目录本身的属性

例如:对abc文件设置i属性,设置完后不可写入数据,也不可能删除

对test1文件夹设置i属性,设置后不可在test1文件夹内新建和删除文件,只能修改原有文件数据

4.系统命令sudo权限

#sudo使用

visudo

#实际修改的是/etc/sudoers文件         man 5 sudoers 可查询souders文档

root                               ALL=(ALL)                                  ALL

用户名    被管理主机的地址=(可使用的身份)    授权命令(绝对路径)

例如:授权test用户可以重启

则在root    ALL=(ALL)    ALL下增加

test    ALL=/sbin/shutdown -r now

  #普通用户执行sudo赋予的命令

sudo -l             #查看可用的sudo命令

sudo /sbin/shutdown -r now        #普通用户执行sudo赋予的命令

注意:命令格式要严格按照sudo + visudo中增加的/sbin/shutdown -r now命令格式,否则无法执行


http://chatgpt.dhexx.cn/article/wpbI0Isc.shtml

相关文章

【Linux】一文掌握Linux权限

环境:centos7,腾讯云服务器 Linux文章都放在了专栏:【Linux】欢迎支持订阅🌹 前言 权限 一词相信大家都不陌生,与我们的生活密切相关。小区里的门禁制度、公司里的管理制度、学校里的校规规定、甚至是社交平台上的一些…

Linux权限理解

一.Linux权限概念 Linux 下有两种用户:超级用户( root )、普通用户。 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。 超级用户的命令提示符是“#”,普通…

Linux权限全面解析 (欢迎各位Linux选手看过来,读到就是赚到)

目录 1.权限是什么 1.1生活实例理解权限 2.Linux下的权限 2.1Linux下的用户类别与事物属性 2.2介绍用户类别的具体意义 2.3具体实验 2.4文件类型简介 2.4.1 文件类型分类 2.4.2 文件类型依据 3.修改文件rwx权限 4.修改文件的owner,group 5.用户切换方式讲解 6.目录…

【Linux】Linux权限

Linux权限管理 文章目录 Linux权限管理1、Linux下权限的概念(1)用户权限(2)文件权限 2、权限的相关命令(1)用户切换超级->普通普通->超级 (2)用户提权(3&#xff0…

Linux权限详解

目录 1. 什么是权限 2. Linux上的用户 3.Linux权限管理 3.1 文件访问者的分类(人) 3.2 文件类型和访问权限(事物属性) 3.3 文件权限值的表示方法 3.4 文件访问权限的相关设置方法 chmod命令 chown指令 chgrp指令 umask指…

Linux用户权限

Linux用户权限 一、Linux权限的概念二、Linux文件权限管理1 、文件访问者的分类2 、文件类型和访问权限3、文件访问权限的相关设置方法 三、Linux目录的权限1、粘滞位 四、Linux权限的总结 一、Linux权限的概念 Linux下有两种用户:超级用户(root&#xf…

ESP32的CAN通信

目录 一、ESP32的CAN通信说明1.1、片内外设1.2、CAN库的查找1.3、MCP2515和SJA1000介绍1.4、CAN库的安装1.4.1、先下载库,再导入到arduino IDE中1.4.2、通过“库管理器”安装。 二、硬件说明2.1、硬件准备2.2、硬件连接 三、代码调试3.1、打开示例3.2、修改代码3.3、…

DSP28377S_CAN通信

CAN通信 CAN通信的由来CAN通信格式CAN通信配置实验验证结束语参考资料目录 CAN通信的由来 为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。CAN属于现场总线的范畴&a…

【CAN】CAN通信基础

1、CAN 总线与 CANopen 概述 CAN(Controller Area Network)总线是BOSCH为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,通信介质可以是双绞线、同轴电缆或光导纤维。 通信速率可达 1MBPS。 CAN 协议的一个…

通信接口CAN

CAN通信 目前(2021年6月)我用到的CAN电路原理图: 判断电路有没有接好,其中一个标准就是,测量接入的电阻阻值是不是60Ω。上图两个60.4Ω之间,可以接一个电容到GND。 1. Bit Timing(位时序) 参考连接 …

STM32之CAN通信

23.1关于 CAN 23.1.1 CAN 电气特性与协议 控制器局域网(Controller Area Network,CAN),是由德国BOSCH(博世)公司开发,是目前国际上应用最为广泛的现场总线之一。其特点是可拓展性好&#xff0…

FPGA实现CAN通信

FPGA实现CAN通信 1、CAN协议物理层和协议层 2、传输的波特率 3、FPGA实现思路 4、FPGA实现代码 1、CAN物理层和协议层 CAN与串口类似,都是异步通信,利用两根差分线来进行信号的传输。 在多节点进行数据传输时主要分为遵循ISO11898标准的高速短距离闭环形…

关于CAN通信速率设置

一、 CAN时钟周期(Tq)2*晶振时钟*BRP(波特率预分频值 baudrate prescaler) 一个CAN时间称为一个时间量子 Tq 1)同步段(Synchronization Segment):1个Tq,tSS 2&#x…

nano的CAN通信

我买的是微雪的树莓派用的SPI转CAN。现在用在jetson nano上。我看了一下俩模块的芯片用的都是一样的,引脚也都对得上,所以我就打算拿这个模块给nano做can通信。 具备CAN功能,使用SPI接口CAN控制器MCP2515,搭配收发器SN65HVD230。 …

CAN通信基础知识

CAN是Controller Area Network 的缩写(以下称为CAN),是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986 年率先提出。此后,CAN 通过ISO11898 及ISO11519 进行了标准化。现在在欧洲已是汽车网络的标准协议。 CAN协议经过…

CAN通信详解

本章我们将向大家介绍如何使用STM32自带的CAN控制器来实现两个开发板之间的CAN通讯,并将结果显示在TFTLCD模块上。本章分为如下几个部分: 30.1 CAN简介 30.2 硬件设计 30.3 软件设计 30.4 下载验证 30.1 CAN简介 CAN 是Controller Area Network 的…

CAN通信总结

CAN通信总结 基本介绍 ​ 1. CAN通过两条通信线(双绞线)产生的电压差传输数据,一个CAN网络里的所有节点都挂在这两条通信线上,使用差分信号半双工通信。 ​ 2. CAN总线是广播类型的总线。所有节点都将始终接收所有通信&#xf…

CAN 通信原理学习

文章目录 CAN通信一:基本概述1.1 can总线是什么1.2 can总线协议的特点1.3 can的网络通信结构1.3.11.3.2 can协议网络层次 二:socket can在通信网络中的应用三 一个程序 CAN通信 一:基本概述 1.1 can总线是什么 CAN 是 Controller Area Net…

CAN通信协议

在 CAN 协议中,所有的消息都以固定的格式发送。总线空闲时,所有与总线相连的单元都可以开始发送新消息。两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地…

CAN通信讲解(1)——基本知识

本文注意参考了《CAN入门书》,源于此书图片不再特殊标注 目录 1.1 CAN总线背景1.2 CAN总线定义1.3 CAN总线信号特性1.4 CAN总线传输1.5 OSI基本参照模型和CAN总线协议 1.1 CAN总线背景 为减少汽车线束数量,1986年,博世开发出面向汽车的CAN通…