Linux权限理解

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

一.Linux权限概念

Linux 下有两种用户:超级用户( root )、普通用户。
超级用户:可以再linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。 
命令:su [用户名]
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user(不用输入密码,root权限高)。 要从普通用户user切换到root用户则使用 su root(root可以省略,要输入root密码),此时系统会提示输入root用户的口令。
                

1.普通用户和root用户之间的切换

                 

2.退出root账户的命令

                 

 3.指令权限的提升

  • (不想使用root账户,但是执行某条指令需要root权限) 提升指令的权限 : 带上sudo(需要配置,ect/sudoers是系统级别的文件,需要root用户去修改,普通用户无法修改,没有权限)
  • 权限是来限制普通用户的,root用户不受限制

二.Linux权限管理

1.文件访问者的分类(人)

对于用户来说,权限可以将用户分为三大类:
①  文件和文件目录的所有者 u - Uer(拥有者)。
②  文件拥有者所在的组的用户 g - Group(所属组)。
③  其他用户 o - Other(other)。

补充:
1. 对于某一文件而言,其拥有者、所属组 ,other就是由 root 和 普通用户所扮演。

2. 人和角色要进行对应。 root ,普通用户(具体的人) : 可以充当拥有者,所属组,other (角色)
3. 在Linux当中,所有用户都要隶属于某一个组,哪怕这个组只有你一个人(此时该组就以你的用户名为组名)。

                                 

 2.文件类型和访问权限(事物属性)         

                         

①对于所属组的解释,为什么要有组的概念

前提: 只有一台服务器,两个小组独立开发同一款软件,彼此之间是竞争关系,不允许看到彼此之间的数据。

 (1)不想让组B的张三看到,拥有者设置成我自己,张三就是other->什么权限都不给,那么和我同组的人什么也看不到了!!


(2) 所以我们一定需要—种权限,让other看不到,同组的能看到 !->所属组的概念就出来了。想让谁看到就把谁添加到组里。

(3)为什么有所属组的概念:本质是用户集合的概念,更灵活的进行权限配置,满足团队协作!

                                          

 ②文件类型

d:文件夹
-:普通文件(文本,可执行程序 ,库)
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备,键盘,显示器)
s:套接口文件

补充: Linux中文件类型和后缀无关,Windows是有关的

1.LinuxOS不认识后缀,但是Linux上面的某些软件关心后缀,
2.建议创建文件的时候带上后缀,更符合我们的使用习惯。

                                                        

③.基本权限

(1) 读( r  ): Read 对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
(2) 写(  ): Write 对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
(3) 执行(  ): execute 对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
(4)  “—”  表示不具有该项权限

(1) 如何阐述—个文件的权限:这个权限是约束谁的,怎么约束?
答 : 对于拥有者,可读可写不可执行,对于所属组可读可写不可执行,对于other只能读。

(2) 权限的位置是绝对的,不会发生变化:读写执行就是这样的顺序

                           

                                     

三.文件权限值的表示方法 

1.字符表示方法

                                                         

2.八进制数值表示方法

每一个权限位都有两种表示方法,一个角色有三个权限位,所以一个文件的权限就可以用3个八进制位来表示。

                                        

                                         

四.文件访问权限的相关设置方法 

chmod指令

语法: chmod 选项 权限 文件名或目录名
功能: 设置文件的访问权限。

常用选项: -R 递归修改目录文件的所属组。

                

 方法1: 用户表示符 + , - , =  权限字符 

  • + : 向权限范围增加权限代号所表示的权限
  • - : 向权限范围取消权限代号所表示的权限
  • = : 向权限范围赋予权限代号所表示的权限(不常用)
用户符号:  
u:拥有者     g:所属组    o:其它用户     a:所有用户
说明:只有文件的拥有者和root才可以改变文件的权限

 ①单人单权限

         

②关于x(可执行权限)

③单人多权限

④多人多权限

⑤没有权限的体现

⑥超级用户不受权限的约束

                                 

⑦普通用户收到权限的约束

⑧不指明角色

                

⑨目录的权限

注意: 关于目录权限X,X表示进入目录

想要在目录里面读写,最基本的权限是X,没有X即使有rw也没用(会有问题),不管是读还是写前提是先要进入目录

                                 

方法2 : chmod xxx(三个8进制)   文件名/目录名
将对应的八进制数转换为二进制,进而设置对应权限值

 

                

五.改变文件的拥有者

语法: chown 选项 用户名 文件名或目录名
功能: 修改文件的拥有者。

常用选项: -R 递归修改目录文件的所属组。

 1.改变拥有者

            

2.同时改变拥有者和所属组

        

                

六.改变文件的所属组

语法: chgrp 选项 用户名 文件名或目录名
功能: 修改文件的所属组

常用选项: -R 递归修改目录文件的所属组。

                 

                

七.umask和默认权限

对于新建的文件和目录,它们都有自己默认的权限,为什么是这样?

1.文件的最终权限受默认权限和umask的共同影响 

2. 文件权限 : 默认起始权限是从666开始的   目录权限:默认起始权限是从777开始的 

最终权限 = defalut(默认值) && (~umask)

3. 关于umask,凡是在umask出现的权限位,都不应该在最终权限中出现(并不是减去)

语法: umask 权限值
功能: 查看或修改文件掩码。

                                

 ①详细计算:

                         

②修改umask

                

 八.粘滞位

语法: chmod +t 目录名
功能: 给目录加上粘滞位。

1.粘滞位的引入

 root2文件的拥有者是root,对于普通用户的访问,普通用户是other,但是root的文件,other怎么能删除呢?

                                

 2.增加粘滞位 

1.粘滞位是给目录设置的,不是给文件设置的:防止删除文件(即使不让读,写,执行)
2.粘滞位是限制other的
3.如果目录拥有者是你,那么粘滞位就没有效果。

 当一个目录被设置为粘滞位,则该目录下的文件只能由:
(1)超级用户删除。
(2)该目录的拥有者删除。
(3)该文件的拥有者删除。

注意: 虽然目录被加上了粘滞位,但如果用户有该目录的可写权限,则不影响其在该目录下创建文件

                                

九.权限总结

1、目录的可执行权限是表示你可否在目录下执行命令。 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录仍然有-r 读权限。而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限 ,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

2、对于一个目录:读权限:查看目录,写权限:在目录下创建删除文件,执行权限:进入目录

3、权限约束的是人,决定一件事是否允许被特定的人做

4、在设置粘滞位的目录下,其他用户可以创建文件,但不能删除别人的文件

                

 


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

相关文章

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通…

CAN通信

通讯方式 UART:(Universal Asynchronous Receiver Transmitter:通用异步收发器/异步串行通信口),是一种通用的串行数据总线,用于异步通信,支持全双工。它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线…

CAN通信----基本原理

STM32标准库开发 文章链接: STM32F103标准库开发----目录 STM32F103标准库开发----CAN总线通信实验----初始化/波特率 STM32F103标准库开发----CAN总线通信实验----发送和接收 资源链接: 本例程已经调试成功,下载即可使用。 STM32F103标准库…