Linux权限(下)

news2025/1/11 4:14:06

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://www.coloradmin.cn/o/73265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

离散数学与组合数学-01

文章目录1. 离散数学与组合数学大纲要求概述1.1 离散数学概述1.2 组合数学概述1.3. 离散数学前言第1章 数理逻辑1.1 命题与联结词1. 命题2.联结词2.集合论3.代数系统4.图论本博客内容为参考B站视频做的笔记 大家多学习,努力考💯💯&#x1f4a…

行业洞察 | 当数据燃尽,AI大模型出路几何?

近期, 自然语言处理NLP与图像方面的SOTA的模型基本都是基于大数据和大模型预训练pretrain的。当我们翱翔在搭积木垒大模型的时候,你可曾想过,也许我们垒的大模型,数据压根就无法完全训练好,换句话说也许你垒的大模型参…

BIO和NIO

前言 这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提…

Java ssm框架 mysql实现的酒店管理系统源码+运行教程+文档

今天给大家演示一下由ssmmysql实现的一款酒店管理系统,教大家怎么配置运行起来,以及在运行过程中遇到一些小问题的解决方法。该系统实现了酒店客房预订管理的基本功能,还增加了图表显示统计结果的功能,对于Java初学者及学生来说非…

自动化测试平台(二):开发用户认证接口

一、前言 对于一个系统来讲,用户模块是非常基本且重要的。搭建的测试平台也需要对用户、用户权限等进行管理。下面为你讲解如何通过DRF来快速的做一个用户登录的验证接口。 二、验证登录讲解 1)创建用户 进入django的项目目录,执行下面的命…

Renderbus瑞云渲染正式支持UE云渲染!离线渲染+实时渲染=渲染起飞!

2022年已经到了尾声,回顾今年CG圈里最具讨论性的话题,除了AI绘图,就是虚幻引擎了,这两者如同一股风潮,从概念创意到后期制作,一路以“席卷”之势影响到了视觉领域的各个行业。 Renderbus瑞云渲染农场作为亚…

CMake中add_custom_target的使用

CMake中的add_custom_target命令用于添加一个没有输出的target,以便始终构建它,其格式如下: add_custom_target(Name [ALL] [command1 [args1...]][COMMAND command2 [args2...] ...][DEPENDS depend depend depend ... ][BYPRODUCTS [files…

vue中使用visibilitychange事件来获取页面当前可见性

前言 在系统中,如果有打开新页面进行相关操作,若是有关联操作就需要通过判断页面的可见性来进行后绪的操作 一、触发visibilitychange变更的情况 页面的可见性有三个层面 页面可见时,用户关闭 Tab 页或浏览器窗口。页面可见时&#xff0c…

ASP.NET Zero Core系统配置工具

ASP.NET Zero Core系统配置工具 ASP。NET Zero是具有现代复杂应用程序连接的新web应用程序的起点。使用高级页面和强大的下属,您将能够从您的时间中受益。您可以使用ASP.NET ZERO作为基础程序,直接开始开发自己的代码和业务。 ASP.NET ZERO工具选项和功能…

sklearn中的特征选择feature_selection

特征选择 概念:就是从所有的特征中,选择出有意义,对模型有帮助的特征,以避免必须将所有特征都导入模型去训练的情况。特征选择常用的方法有:过滤法,嵌入法,包装法,和降维算法 过滤…

BN128曲线

1. 引言 BN系列椭圆曲线E(Fp):y2x3b,其中b≠0E(\mathbb{F}_p):y^2x^3b,其中b\neq 0E(Fp​):y2x3b,其中b​0,由Paulo S. L. M. Barreto1 和 Michael Naehrig 在2005年论文 Pairing-Friendly Elliptic Curves of Prime Order中首…

增长思维 —— 撬动企业增长的杠杆

增长一定不是只适用于互联网公司 营销:获客 增长:研究的是用户全生命周期 增长思维:以供需分析为基础,从用户全生命周期寻找增长点的方法论 这个模型的核心是啊哈时刻,指的是一个产品对用户价值感最强的那个点 一个…

画饼画到世界地图上:按比例呈现多组数据

地图是数据可视化的一部分,做群体遗传学、动物学、植物学、微生物学等的朋友经常用到世界地图,比如绘制不同小麦品种的世界分布。一般情况下,我们根据经纬度将数据标注在地图上,然而有些时候,我们会需要更高级的标注&a…

Apache doris 1.2.0 release

亲爱的社区小伙伴们,再一次经历数月的等候后,我们很高兴地宣布,Apache Doris 于 2022 年 12 月 7 日迎来 1.2.0 Release 版本的正式发布!有近 118 位 Contributor 为 Apache Doris 提交了超 2400 项优化和修复,感谢每一…

Ubuntu 22.04 桌面美化之Mac Big Sur风格

Ubuntu 默认的桌面也是一个不错的样式,但千篇一律的主题很容易让人疲惫。本文描述了如何通过安装 gnome 桌面主题和动画,使桌面趋向于 Mac 的样式。 美化后的样式如下,请参考: 一、主题和图标美化 1.1 安装 tweaks 打开终端&…

抽奖小程序怎么做?

抽奖小程序怎么做?大概需要多少钱? 价格方面,平台按年收费,一年1498至2498元。 明码标价,7天退款制度,随时退。 抽奖小程序怎么做步骤: 1.进入第三方抽奖小程序制作平台官网注册账号并登录。 抽奖小程…

Kubernetes集群安装卸载

生命无罪,健康万岁,我是laity。 我曾七次鄙视自己的灵魂: 第一次,当它本可进取时,却故作谦卑; 第二次,当它在空虚时,用爱欲来填充; 第三次,在困难和容易之…

银河麒麟服务器系统V10开启root用户自动登录的图文教程

HI,最近公司拿回来一个联想服务器,配置还可以啊,所以就想着在本地搭建一套常用的测试环境,但是这个服务器是扁平的,不像是主机那样,这种是锁定在主机箱上的,而且噪音很大,一直嗡嗡嗡的,所以打算弄好之后放在离我远一些的地方,不然真的没法工作,全是噪音,系统都部署…

transformer14

太强了都连载14了~~ 这次是无残差连接或归一化层,也能成功训练深度 尽管取得了很多显著的成就,但训练深度神经网络(DNN)的实践进展在很大程度上独立于理论依据。大多数成功的现代 DNN 依赖残差连接和归一化层的特定排列&#xff…

ROS多机通信(ssh控制)

这种方法需要在局域网范围内进行,通信距离取决于WIFI模块的传播距离 1、连接同局域网 将主机和从机连接相同的网络,在同一局域网内。例如192.168.0.*(前三位相同) 网络会自动给每个机器一个IP 2、安装SSH sudo apt-get insta…