【Linux】权限管理

article/2025/8/29 22:03:43

目录

一.用户在使用Linux系统时的权限

1.概念

2.用户权限切换(角色切换)

1.普通用户切换root

2.root切换普通用户

二.用户在使用文件或目录时的权限

0.如何区分是文件还是目录?

1.拥有文件或目录权限的三个身份

2.文件或目录的权限

3.如何修改权限

(1)修改权限

(2)修改人

4.权限常见问题(面试题)

(1)目录权限

(2)权限掩码 - umask

(3)粘滞位


一.用户在使用Linux系统时的权限

1.概念

Linux下可以同时存在多个用户,Linux是一个多用户的操作系统

root:只有一个,具有linux下的最高权限(一般不受权限约束)

普通用户:可以有多个,受权限约束

2.用户权限切换(角色切换)

切换用户,本质就是切换权限

1.普通用户切换root

指令:su -,回车然后输入root密码

2.root切换普通用户

指令:su 指定用户,回车且不需要密码

或者 ctrl+d 或者 logout 或者 exit

二.用户在使用文件或目录时的权限

0.如何区分是文件还是目录?

Linux下,不以文件后缀来区分文件类型

那么,想要区分一个文件是文件还是目录,看下图

但是需要注意一点,如果我们用linux下的gcc编译器,编译一个后缀不是.c的文件就会报错!

为什么呢?

原因就是:gcc是linux环境下的一款软件,linux不以文件后缀区分文件类型,但是没有说软件不可以!其实gcc这款linux下的软件,需要文件后缀来确定链接哪一个静/动态库

1.拥有文件或目录权限的三个身份

2.文件或目录的权限

3.如何修改权限

(1)修改权限

第一种形式:chmod [u/g/o] [+/-] [r/w/x] [文件名]

第二种形式:chmod [三个八进制为] [文件名]

(2)修改人

普通用户没有权限修改人

要么在命令前使用sudo,要么切换成root,使用sudo超级命令时,需要输入用户自己的密码

 

4.权限常见问题(面试题)

(1)目录权限

进入一个目录的权限:x(执行)

在目录中创建或删除目录/文件:w(写)

查看目录下的目录/文件:r(读)

目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目,即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限。所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

没有x权限,只能ls查看该目录下的文件名,ls -l无法查看具体文件属性,tree显示为空!!

(2)权限掩码 - umask

一般的,创建一个目录系统的默认权限是777

创建一个文件系统的默认权限是666

可是实际我们看到的却是,创建目录:775,创建文件:664

为什么?以及是如何实现出来的?

答:一般的,other权限没有对文件/目录的w权限,这是为了保护文件/目录。其余权限默认为rwx。(说明一下,不管对于谁,都没有必要对文件有x权限,因为文件本身就没有执行属性)

以文件举例:刚开始创建好系统生成的默认权限就是777,而为了保护文件安全,需要去掉other的w权限,于是默认权限777会&一个~umask,umask是权限掩码,默认值为0002,而我们至于要关注后三位,且后三位是八进制位。

777&(~002) ---》775,就形成了最终我们所看到的默认权限775

也就是说,只要出现在umask上的权限,我们就不应该让文件/目录有这样的权限

注意,不是减法,而是 最终权限 = 起始权限 & (~umask),因为减法有进位问题。

umask是可以修改的,比如把umask修改为0777指令就是:umask 0777

(3)粘滞位

现在假设有这样一个场景:

一个公司,领导是root,员工是普通用户。此时为了便于多名员工协作开发一个项目,root创建了一个目录,这个目录的own和grp都是root,员工们是other。

目录的w权限:在目录中创建或删除目录/文件

此时思考一个问题:root是否要将此目录的other权限中的w权限打开呢?

员工在工作时,一定是需要自己能够自由的创建和删除目录下的文件(这个需求other需要w权限)

但是,仅仅只是能删除属于自己的文件(这个需求other不能拥有w权限)

这样就会产生矛盾,员工们既需要能够在目录下创建和删除文件,需要w权限。但一但w权限面对other开启,就意味着所有员工都可以自由的随意删除里面的任何文件。

如果才能做到:自己只能创建或删除属于自己的文件呢?

答:我们引入一个新的权限:粘滞位

指令:chmod +t [目录名]

此指令只能是目录的拥有者 或者 root才能执行 或者 sudo+指令

粘滞位只能给目录设置。

所以,这也说明了,虽然我的文件对外不开放rwx权限,但是如果拥有我这个文件所在目录的w权限,他虽然看不了改不了我的文件,但是可以删除我的文件!而粘滞位就很好的解决了这个问题!让他依然有这个目录的w权限,但是只能创建和删除属于自己的文件!


http://chatgpt.dhexx.cn/article/7ByoQLLa.shtml

相关文章

【Linux】——权限详解

Linux权限的概念 在学习Linux权限之前,我们需要首先了解一下关于用户的知识。在Linux下有两种用户,分别是root用户和普通用户。root用户就好比充钱的VIP一样,可以在Linux下做任何事情,几乎不受限制,我们也称其为超级用…

linux中权限详解,linux 权限详解

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者 用ls…

Linux文件权限

Linux文件权限 Linux下一切皆文件 Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件。 普通文件是文件。 目录(在win下称为文件夹)是文件。 硬件设备(键盘、硬盘、打印机)是文件。 Linux下有两种用户:超级用户(root&…

Linux权限管理

1.ACL权限 1.1ACL权限简介与开启 所有者、所属组和其他人的权限不够用,专门为用户设定独立的权限 #查看分区ACL权限是否开启 dumpe2fs -h /dev/sda3 如下图:蓝框就表示该分区具有acl权限 #临时开启分区ACL权限 mount -o remount,acl / #重新…

【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 的…