Linux权限(下)

article/2025/8/29 21:45:07

Linux权限下

  • file指令
  • 目录的权限
    • x权限
    • r权限
    • w权限
  • 文件的默认权限
    • umask码
    • 修改umask码
  • 粘滞位
    • 背景
    • 谁能删除设有粘滞位的目录下的文件?
    • 设置粘滞位的注意事项

file指令

在此之前我们先了解一个指令,这个指令可以让我们更详细的了解文件的具体类型,虽然说在Linux中文件不区分详细的文件类型,但是为了方便我们人,我们可以通过该命令查看文件的具体文件类型!

语法 :file 目录或文件名
功能: 查看目录或文件的具体文件类型;
常用选项
-z :尝试去解读压缩文件的内容 ;
-c : 详细显示指令执行过程,便于排错或分析程序执行的情形;
实际演练
在这里插入图片描述
比如现在我们知道test1.txt文件在Linux中就是一个普通文件,但是我们想看一看它到底有多普通:
我们就可以利用命令file test1.txt
在这里插入图片描述
我们也可以来看看其他文件类型,比如压缩文件的:
在这里插入图片描述

目录的权限

通过上节课的学习我们知道了文件的基本属性主要分为3个,r(读)、w(写)、x(执行);
这三个基本普通文件来说我们很好理解,但是对于目录来说又是什么意思呢?
现在我们提出一个问题?
进入一个目录需要那个权限呢?

x权限

1、假设需要r权限:
在这里插入图片描述

假设我们以lesson1目录为例,现在这个目录所有属性都有了,对应的身份的权限也是一应俱全,现在我们的身份是wzy:在这里插入图片描述
对应lesson1文件也就是文件拥有者,刚才我们假设了目录没有r属性就不能进入了目录,现在我们所有权限都有了,我们肯定能进入目录,那现在我们取消文件拥有者的r目录,看一看能否正常进入目录:
在这里插入图片描述
在这里插入图片描述
我们可以发现在没有r权限的情况下,我们依旧轻松的进入了目录,这说明能不能进入一个目录不是由r权限决定的!
2、假设是w权限决定的:
在这里插入图片描述
我们先恢复原样,保持与取消r权限时候的状态一样:
现在我们来取消w权限,并进入目录:
在这里插入图片描述
我们遗憾的发现,w权限也不是决定一个目录能否被“进入”的权限!
3、假设需要x权限:
在这里插入图片描述
现在取消x权限,并尝试进入目录:
在这里插入图片描述
我们发现只有当x权限被取消的时候,我们无法正常进入lesson1目录(当然除了root这个老6,无视任何权限!),由此可以粗略的发现能不能进入一个目录,关键是要看这个目录是否对文件访问者开放x(可执行权限)!
总结:进入一个目录,需要目录对访问者开放x(可执行权限),就算目录有x权限但是对于其他人(other)来说没有,那么照样处于other这个角色的访问者也无法进去目录,x权限就像一把打开,目录的钥匙!

既然我们知道了x对于目录来说相当于“钥匙”的作用,那么r、w权限对于目录来说又起着什么样的作用呢?

r权限

其实理解这个问题并不难,我们说过Linux下一切皆文件!咱们先把目录也当作一个文件,那么对于一个文件来说,没有了r权限我们就不能对该文件进行读取操作,那么对应到目录中来,如果一个目录没有了r权限是不是就意味着看不到该目录下的文件了呢?
我们接下来,来实验一下:

先取消lesson1目录的r权限:
在这里插入图片描述
接着我们利用ll命令来读取一下:
在这里插入图片描述
系统告诉我们权限拒绝!
我们再用tree命令试一下:
在这里插入图片描述
系统告诉我们打开错误!
这些例子都说明了对于一个目录来说取消了r权限,我们就不能读取该目录下的所有文件了;
总结:r权限决定了一个目录是否可被读取,如果该目录对于对于角色没有相应的r权限,那么访问者是无法读取该目录下的所有文件和文件的详细信息的!

w权限

类似于上面的r权限那样理解,对于一个目录来说没有了w权限是不是就意味着不能再该目录先创建文件了?

首先日常取消w权限:
在这里插入图片描述
接着我们变进入lesson1目录,并尝试开始建一个新文件:
在这里插入图片描述
既然不能创建,那我删除总可以吧?
在这里插入图片描述

总结:通过上面的测试我们可以发现,当一个目录对对相应角色的访问者不开放w权限时,那么访问者无法在该目录下进行“写入”、“删除”等操作!!!因此我个人觉得w权限不应该叫做可写,应该叫做可修改,修改一词既包括了写入这一操作又包括了删除这一操作!

文件的默认权限

我们有没有发现,我们在创建出一个文件过后,这些文件会“与生俱来”的自带一些属性:比如在这里插入图片描述
我们发现我们创建的三个普通文件“与生俱来”的属性就是:664
我们再来看一看假设我们创建的是目录呢?
它的默认权限是不是也是664?
在这里插入图片描述
我们可以发现目录的默认权限是不一样的,目录的默认权限是:775
那么为什么它们的默认权限会是这样呢?

umask码

为了解决上面的疑问我们必须先理解一下关系:
我们现在所看到的权限(默认权限):比如664、775,这些叫做最终权限;
而对于普通文件或者目录来说它们是由起始权限的,比如普通文件的起始权限就是666,目录的起始权限就是777;
那么为什么这两者的起始权限会不一样?
这主要是因为普通文件的执行权限一般都比较重要不能乱给,必须由文件所属者进行分配,故普通文件的起始权限默认不带x权限,而对于目录来说就不存在,一个目录要是都没有x权限,进都进不去那么这个目录创建出来也就毫无意义!

好现在我们理解了起始权限,但是离我们看到的最终权限也还是有一点距离!
这时我们就需要来解释一下umask码,也就是权限掩码,我们最终所看到的默认权限就是起始权限经过与umask码相结合得出来的;
主要操作过程就是umask码中有的起始权限里面不能有! 就这一条:转换成最终权限的公式就是:
最终权限= 起始权限&(~umask码)
umask码一般是由系统默认给的,系统默认给的对于普通用户来说是002,这个我们可以利用umask命令查看:
在这里插入图片描述
对于root用户来说,默认的umask码为:022在这里插入图片描述
其中第一个0与特俗权限有关,我们可以暂时不用理会!
接下来我们就利用刚才的公式来验证一下普通文件的默认权限:
作为普通用户,umask码默认为002,转为二进制:000 000 010
普通文件的起始权限就是:666,转为二进制: 110 110 110
110 110 110 & (~000 000 010)=110 110 100 也就是rw_ rw_r_ _与我们实际创建出来的普通文件的默认权限是想吻合的;
我们再来验证一下目录呢?
起始权限:111 111 111
默认权限=111 111 111 & (~ 000 000 010)=111 111 101 也就是rwxrwxr_x同样与我们创建出来的目录的默认权限相吻合!

修改umask码

我们刚才在上面umask码像什么002、022都是默认的、系统自己设定好的,那么我们可不可以去更改呢?答案是当然可以!我们需要去利用命令umask xxx xxx表示3个八进制数,如现在我们将其设计成111;
在这里插入图片描述
那么根据修改过后的umask码,我们作为普通用户创建出来的普桶文件的默认权限就应该是:
110 110 110 & (~ 001 001 001)=rw_rw_rw_,我们现在来验证一下:
在这里插入图片描述
我们可以发现,的确是这样子的;
按照惯例我们再来验证一下目录的默认权限:
111 111 111 & (~ 001 001 001)=110 110 110=rw_rw_rw_,我们来验证一下:
在这里插入图片描述
我们可以发现同样是与我们理论相符合的!

粘滞位

背景

在将述粘滞位之前,我们先来了解一下它的产生背景,这样有助于我们更好的理解它:
我们都是到,在home目录下面一般都会有多个普通用户,普通用户之间是无法查看彼此工作目录下的内容的!:
在这里插入图片描述
但是有时候我们为了工作需要,我们普通用户之间需要进行信息交互啊,我总不能把我工作目录的other权限给开了吧!我这目录下可是有隐私的东西,不是所有的东西都都想拿出来被别人看,于是呢,为了解决这个信息交互的问题!我们创建了一个共享目录,在这个目录下面我们所有的普通用户只需要将需要进行交流的文件拷贝到共享目录里面去,有需要的就去这里面进行查阅或进行修改,共享目录的创建者一般都是root;这样两全其美的办法可谓是美哉!
实际上咱们也是这么干的,比如我现在就创建了一个共享目录:
在这里插入图片描述

在共享目录里面我们可以进行信息交互:
在这里插入图片描述
比如现在我就可以查看ikun这个用户的文件(我现在是wzy):
在这里插入图片描述
当然我也可以对该文件进行修改,前提是文件所属者给我把w权限开启了!现在ikun这个拥有者没有为我(wzy)开启w权限,我无法修改cxk.txt文件里面的内容,于是我恼羞成怒,我一口气就将cxk.txt文件删除了,大家说我能删掉吗?
在这里插入图片描述
答案是可以删掉!!!这时就会有小伙伴有疑问了!cxk.txt文件都不是wzy的,为什么wzy可以删除它呢?这是Linux的bug吗?
答案是:当然不是!!
首先我们身处与ShareDir这个目录下吧,我们再来看一看这个目录对与other所开放的权限:
在这里插入图片描述
我们可以发现ShareDir目录对other开放了w权限,加上w权限过后other自然也就拥有修改ShareDir目录下的内容的权力!自然而然我wzy可以删除ikun的文件!那么又没有什么办法制裁我(wzy)恶意删除别人的文件呢?
1、取消ShareDir中other的w权限;
可是这样做似乎一棒子打死了,取消了w权限我们所有普通用户都不能删除ShareDir目录下的文件了,但是同时我们也无法创建文件了,这样的共享目录有什么意义,我都不能创建文件了,还怎么进行信息交互!这样的ShareDir名存实亡!!!!

那么难道就没有更好的方法来制裁我(wzy)恶意删除别人文件的行为了嘛?
当然有,这不粘滞位这一技术不就应运而生!!
我们可以在共享目录对于other权限这一栏加上t(特殊权限)来防止上面这样恶意行为:
命令chmod o+t ShareDir(我们执行该命令的时候需要root的权限)
在这里插入图片描述
我们再去切换成普通用户:
在这里插入图片描述
我么可以发现当我们再去删除ikun的文件的时候,系统直接提示我们权限拒绝;这下我(wzy)终于无法恶意删除别人的文件了!!!!

谁能删除设有粘滞位的目录下的文件?

1、文件所属者;
2、当前目录的所属者;
3、root

设置粘滞位的注意事项

同时我们设置粘滞位的时候需要注意
1、粘滞位权限都是针对其他用户(other)设置,使用chmod命令设置目录权限时,“o+t”、“o-t”权限模式可分别用于添加、移除粘滞位权限。
2、粘滞位权限只能针对目录设置,对于文件无效


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

相关文章

Linux--权限讲解

文章目录 前言一、什么是shell外壳程序?二、为什么有shell外壳程序?三. Linux的用户基本介绍四. 用户间的相互转换及权限的索取五. 什么是权限?六. 权限的具体分类七. 文件权限属性的改变和‘人’的改变八. 为什么要有权限?九. 显…

Linux权限的基本知识

本文已收录至《Linux知识与编程》专栏! 作者:ARMCSKGT 演示环境:CentOS 7 目录 前言 正文 权限是什么? Linux权限的划分 Linux用户的切换命令 Linux文件权限 Linux文件类型 Linux文件权限 Linux角色划分 文件权限的访问…

【Linux】权限管理

目录 一.用户在使用Linux系统时的权限 1.概念 2.用户权限切换(角色切换) 1.普通用户切换root 2.root切换普通用户 二.用户在使用文件或目录时的权限 0.如何区分是文件还是目录? 1.拥有文件或目录权限的三个身份 2.文件或目录的权限 3.如何修改权限 &#…

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