Linux相关概念和易错知识点(5)(权限的修改、时间属性)

Linux 系统特殊权限-权限属性-权限掩码 suid 只适合使用在系统命令上,/usr/sbin 安全sgid 适用于目录 锁定属组 让用户创建的文件继承主目录的属组。t 适用于目录在属主本来应该是 x(执行)权限的位置出现了一个小写s,这是什么权限?我们把这种权限称作 SetUID 权限,也叫作 SUID 的特殊权限。这种权限有什么作用呢?或者说能干啥? 阅读详情

目录

1.权限的修改

(1)提权行为

(2)拥有组 user、所属组 group、other

①为什么有这三个组?

②身份认定

③权限识别

(3)权限修改

①chmod(修改各个组的权限)

②chown(修改拥有组、所属组的用户) 、chgrp(修改所属组的用户)

(4)权限掩码

(5)粘滞位

2.时间属性

(1)时间属性包含哪些?

(2)如何更新时间属性?


1.权限的修改

(1)提权行为

普通用户是会受到权限的限制,但root账户无视一切权限限制,因此当我们要获取更高的权限,有一种办法就是将自己变成root或者短暂拥有和root一样的权力。

普通用户 -> root :su - + 回车 + root的登录密码。su可以切换账户,对于普通用户而言,你需要知道对方的密码,但root可以随便su,即进入任何账户而无需对方的密码。

root用户的命令行标识是#,普通用户是$

除了直接切换用户,我们还可以使用sudo + 指令,意思是在当前用户以root身份执行该指令。当前用户如果要使用这个功能,我们需要先把该用户加到白名单中。

使用root账户进入/etc/sudoers文件,添加光标所在行,一定要和上面root那一行保持格式一致,vim可用yy+p来操作

因为sudoers禁止修改,所以我们只能使用root加wq!强制保存来突破权限。

添加之后我们就可以在自己的普通账户使用sudo了,sudo之后我们需要输入自己账户的密码(注意是自己的,而不是root账户的密码),这也是为什么要添加白名单。在合作时,我们将信任的人添加到白名单中,之后他们就可以使用root权限来短暂处理一些需要高权限的事。如果后续出了问题,我们也可以用白名单迅速找到对应的人,所以输自己的密码而不是root密码,安全性也有保障。

(2)拥有组 user、所属组 group、other

①为什么有这三个组?

一个文件或目录对不同人来说权限是不一样的,也即不同人在同一个地方身份不同。在Linux中划分了三个组,创建文件的用户自动变成该文件的拥有组和所属组,其余用户都是other。设计拥有组和所属组的用处在于权限更细粒度的管理,我们可以修改所属组给另一个我们信任的人,这就能保证所属组和other做出区分。Linux中我们能对最多能对两个用户进行精确权限管理(拥有组和所属组),其余的other共享一套权限。

②身份认定

当我们刚开始创建文件时,创建文件的用户自动变成该文件的拥有组和所属组,那么用户可以既是拥有组也是所属组吗?就像一个人在家里可以是母亲也可以是妻子?答案是否定的。

Linux中身份认定是唯一的,我们不能既是又是。认定顺序是拥有组->所属组->other,只要有其一匹配,身份不再向后检验。这就意味着如果拥有组和所属组都是某个普通用户,但所属组的权限更大,最后这个普通用户也只有前者拥有组的权限。

③权限识别

第一个明确是目录还是文件,从第二个开始依次表示user、group、other权限

(3)权限修改

权限 = 角色 + 身份,你可以将su和sudo理解为修改自己的角色,su切换用户,sudo则是用root的权限来执行指令。我们还可以修改文件的属性,即修改当前用户在文件那里的身份。

①chmod(修改各个组的权限)

这是修改三个组别拥有的权限,只有拥有组和root有资格执行这条指令

用这条指令,我们可以随意增加删除组别的权限,注意的是有文件的x权限并不意味着一定能执行,它首先得是可执行文件

修改权限的方式是chmod + (组别) (权限调整) 文件名,其中u、g、o是拥有组、所属组、other的缩写,a(all)代表所有组别。组别可以写ug,权限可以写rw,表示拥有组、所属组同时进行rw权限的修改,不同组进行不同权限修改之间用,逗号间隔

还有一种二进制->八进制表示权限的修改。先使用二进制表示某个组的权限:拥有该权限为1,没有为0,三位数就能表示所有可能,如111代表rwx,000表示---,110表示为rw-,随后将这些数字转为八进制,111->7,000->0,110->6。每个组别都这样处理,最后按拥有组、所属组、other排列表示三个组的权限,如644、777等。

每一种权限组合表示的八进制都是唯一的,3个权限2种状态,共8种状态,对应0~7刚好。

②chown(修改拥有组、所属组的用户) 、chgrp(修改所属组的用户)

只有root能执行这些指令,所以普通用户必须sudo。因为我们修改拥有组、所属组的用户本质是直接将该文件交给别人,和chmod这种单一修改身份不一样,交给别人某样东西要经过它的同意,所以只有靠root强制交给它。chown、chgrp交给自己不会被拦截,可行但没意义,只要改了拥有组和所属组的用户必定被拦截。

注意chown、chgrp和是否有目录修改权限没关系

chown能同时修改拥有组和所属组,chown (新的拥有组,没有可不写):(新的所属组,没有可直接不写冒号) 文件名。

注意如果要修改所属组但不修改拥有组一定要记得些冒号:,否则就修改到拥有组去了

chgrp只能修改所属组,功能上欠缺了一点,了解即可。

(4)权限掩码

当我们新建一个文件或者目录时,我们会发现默认权限是不一样的,并且为什么会是这种权限呢?能不能自定义默认权限呢?这就要引入权限掩码了

我们使用八进制描述三个组的属性,普通文件创建时默认为664,目录为775,之所以默认权限是这样,依赖umask权限编码。目录的起始权限是777(x允许进入目录),普通文件的起始权限是666(普通文件不可执行),但最终权限的二进制表示 = 转为9位二进制的起始权限 &(~权限掩码的二进制形式),如何简单理解呢?3位权限掩码展开成二进制有9位,如002会展为000 000 010。取反之后我们发现为111 111 101(三三对应拥有组、所属组、other的3个权限)。根据与运算的规则,1 & 任何值,与上什么值,最后的结果就是什么值。0 & 任何值,无论与上什么值,最后的结果就是0。也就是说,002就是减掉other中和2对应的权限w,因此我们会发现最终权限表示中目录和文件的other都少了w权限。

因此,最终权限 = 起始权限 - umask权限掩码对应的权限,但最终权限掩码 != 起始权限掩码 - umask权限掩码对应的权限,一定要做好区分

用umask (num)修改权限掩码为154,根据154权限掩码规则,文件会在起始权限666上做减法。一位一位看:1会减掉x,这里看上去rw确实如此,但实际上新建文件本来就没有x,所以1是不做任何削减权限处理的;5会减掉rx,实际减掉的是r,x本来就没有;4会减掉r,实际减掉r,所以这就是为什么54处理后没有区别,多出来的1本来就没有,会被抛弃。因此,我们不能直接用起始权限掩码 - umask权限掩码得到权限,要逐个考虑,有的掩码是无用的

(5)粘滞位

当用户有目录的w权限时,就可以删除该目录下的所有文件而无需对文件本身有权限,这极为危险。当合作时,由于拥有组和所属组只能由两个用户当,大部分人都会是other,要保证共享目录编辑还必须开放目录中other的w权限,这就会导致一些误删的情况出现。

粘滞位就可以避免这个问题,chmod o+t (目录名)或chmod +t (目录名),之后有且仅有root、目录所有组、文件所有组才有资格删除、移动目录里面的文件(other和所属组都被限制)

2.时间属性

(1)时间属性包含哪些?

stat (name) 可查询任何文件和目录的属性信息(修改时间、大小、inode等),其中时间属性很值得注意。

文件和目录有三种时间属性,Access最近访问时间、Modify最近修改时间、Change最近被改变时间。其中Modify是指最近修改内容的时间,Change是指最近修改属性的时间(注意区分)。

当我们使用chmod时,属性被修改了,但内容没有被修改,于是只有Change被修改, 而Modify不会被修改。注意当我们修改内容时,虽然名义上只会修改Modify,但多数情况也会修改属性(大小属性等,只要修改内容很可能受到牵连)。

Access时间并不算准确,因为在运行一些程序时有的文件会多次重复访问,如果系统一直与硬盘进行交互,那么计算机的效率会大打折扣。所以现在Access时间修改策略一般是当积累一定次数才会刷新,我们平时不用多注意。

(2)如何更新时间属性?

如果想要自己更新时间属性,可以考虑touch -m (name),这是修改Modify时间,但由于Modify是属性,修改属性也会修改Change的时间。另外还有touch -a (name)可以修改Access时间,同样Change时间也会修改。

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec请求头加密 本文详细解析了Shopee商品详情页反爬机制中x-sap-Ri和x-sap-Sec请求头参数的加密逻辑,通过JS逆向技术手把手教你定位加密入口、分析哈希算法与对称加密实现,并提供完整实战案例和应对反爬策略的高级技巧,助力开发者突破电商平台数据采集难点。 阅读详情

相关推荐

Unity工业数据可视化:基于ModbusTCP的实时数据通信实战

本文详细介绍了在Unity中实现工业数据可视化的核心方法,重点讲解了基于ModbusTCP协议与PLC等工业设备进行实时数据通信的实战流程。内容涵盖NModbus库的集成、Modbus Slave模拟器的使用、TCP连接的建立与多线程安全通信、数据读写与解析,以及如何将实时数据驱动3D场景,为构建工业数字孪生与监控系统提供完整解决方案。

ol7890123的博客 554

Linux:文件权限详解及修改方法

linux中文件系统有各种权限,如何来分辨和修改,有下面几种方法。。

mini小新的博客 5万+

STM32串口调试踩坑记:HAL_UART_ErrorCallback里不先解锁,你的中断接收就废了

本文深入分析了STM32串口调试中HAL_UART_ErrorCallback的锁机制陷阱,指出在错误回调中不先解锁会导致中断接收失效的问题。通过解析HAL库源码,提出了正确的错误处理实现方法,并分享了预防措施与最佳实践,帮助开发者提升串口通信的可靠性。

weixin_33733810的博客 513

Linux下如何修改文件权限?(chmod/chown)

打开终端,可以通过ll或者ls -l的命令查看当前目录下的文件详细信息; 我们看到的是: drwxrwxrwx 3 root root 4096 2月 24 17:08 ../ -rw-rw-r-- 1 fengyun fengyun 265 2月 24 17:10 config.ini 解释: 前面10个长度的字符代表的就是该文件的信息以及对应的用户所拥有的操作权限。 其中 r 代表可读, w 代表可写, x 代表可执行;r=4,表示可读;w=2,表示可写;o

ligare的博客 2万+

(详细教程)opencv+pycharm+笔记本摄像头 做一个人脸识别

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 一、安装opencv-python 这里推荐使用pycharm直接安装opencv-python 打开文件——设置——python解释器——点击+号 搜索opencv-python,点击安装包,等待片刻即可安装好 检查是否安装好,新建一个项目输入以下代码,若无报错则安装好 import cv2 二、准备分类器 咱们使用opencv官方提供的分类器,包括面部识别,侧...

qq_52852432的博客 1万+

嵌入式状态机编程-QP状态机框架与常见状态机方法

状态机基本术语 现态:是指当前所处的状态。 条件:又称为“事件”,当一个条件被满足,将会触发一个动作,或者执行一次状态的迁移。 动作:条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。 次态:条件满足后要迁往的新状态。“次态”是相对于“现态”而言的,“次态”一旦被激活,就转变成新的“现态”了。 传统有限状态机Fsm实现方法 如图,是一个定时计数器,计数器存在两种状态,一种为设置状态,一种为计时状态 设

qq_36969440的博客 9665

Linux命令:修改文件权限命令chmod、chgrp、chown详解

Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权 限分为只读,只写和可执行三种。以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作。可执行权限表示允许将该文件作为一个程序执行。文 件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。用户也可根据需要把访问权限设置为需要的任何组合。 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户。所有者一般是文件的

YHJ 3万+

Word多级标题出现黑块的解决思路(word 数字必须介于1-1638之间)

遇到多级目录出现黑块问题,看到一篇博客完美解决,在此记录。

AI_Optimization的博客 3716

Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

权限简介     Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。     Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。     Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用...

散尽浮华 8万+

Ollama DNS 重新绑定攻击 (CVE-2024-28224)

一旦 DNS 重新绑定攻击成功,攻击者就可以对这些 API 进行排序,以读取 Ollama 运行的进程可访问的任意文件数据,并将这些数据泄露到攻击者控制的系统中。完成对“创建模型” API 请求的调用后,Ollama 将收集组成新创建的用户模型的许多工件,包括大型语言模型数据、许可证数据等,以及我们要提取的文件,所有这些都可以通过其 SHA256 内容进行寻址。这是我们要窃取的文件,在我们的示例中,是可通过运行 Ollama 的主机上的路径名访问的现有文本文件。值得注意的是,该模型配置为通过参数中的。

技术超强的网络安全平台 1648

【HALCON工业视觉应用探索】02. C# + Halcon铸件毛刺机器人打磨引导:点云处理从实验室到工业现场的全流程落地

摘要:铸件毛刺的自动化打磨是机械制造领域的重要难题,其随机性(高度0.1-3mm)和复杂工况导致人工打磨效率低(3分钟/件)、工伤率高。本文基于Halcon 24.11与.NET 6,构建了一套点云处理方案:通过线激光扫描仪获取三维点云,经预处理、毛刺检测、路径规划三大模块,引导机器人完成打磨。虚拟实验测试显示,对高度>1mm的毛刺检出率达100%,定位误差±0.08mm,但工业现场受油污、粉尘影响,性能降至检出率68-75%、处理时间>45秒。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1128

Linux权限管理

Linux作为一款开源操作系统,其权限管理机制是非常重要的一部分。熟练掌握Linux权限,可以帮助我们更好地管理文件和目录,保障系统的安全性和稳定性。掌握Linux权限管理,可以更好地管理文件和目录,提高系统的安全性和稳定性,上述的内容,大家可以私下实验一下,亲身体验才能更有感触。好了,以上便是本期全部内容。

2202_75605090的博客 4110

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux相关概念和易错知识点(2)(用户、文件和目录、inode、权限)

有人会想,目录中不仅可以存文件,还可以存目录,事实上,刚刚的解释完全适用于这种嵌套结构,因为不管是目录还是文件,它们在上层目录的内容中就只是名字+inode编码的键值对而已。张三是人的名字,领导是该人的身份,他所拥有权限取决于这个人的身份,,就像张三在公司是领导,回家就是丈夫。它的权限甚至可以直接删除整个系统,即使有的文件正在使用无法删除,但root会将能删的都删了,当退出系统后,剩余的文件也一并带走。也就是说,rm并不能删除有w权限的文件,因为删除一个文件的前提就是要先删掉它的inode和文件名。

SGlow0708的博客 1388

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Linux相关概念和易错知识点(10)(进程优先级、进程切换)

在ir保存指令且eip更新完成之后,CPU就会执行ir里面的指令,之后ir再次导入eip指定位置的指令,eip更新,CPU处理,以此类推......此外,还有。进程是基于时间片来进行调度轮转的,当一个进程在时间片到的时候,不一定执行完了,但此时为了公平性它不能再执行了,CPU必须切换开始执行下一个进程的任务。优先级(建立在已经有权限的基础之上,就是谁先谁后的问题),权限(能还是不能的问题),没权限一定没有优先级的概念。进程的优先级竞争的是CPU资源。,包括NI的修改是有限的,也是基于这个原则来限制的。

SGlow0708的博客 1141

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【Linux系统】—— 权限的概念

权限

yusjushd的博客 1346

Linux相关概念和易错知识点(40)(HTML资源交互、网页管理、搜索引擎)

各家都疯狂推出自己的浏览器,因此浏览器的标准争夺非常剧烈,每家都有自己的一面之词,都不甘服从别的公司的标准,这也造就了当今。注意对于301还是302,跳转的含义都是指的客户端再次发起请求,服务端不会跳转的,它只会告诉客户端下一步怎么做。,更新页面内容,这种情况下就不会跳转到新的静态网页,看起来还是在原来的网站,但内容更新了。,客户端的/test实际上会被对方的服务器单独处理,读取请求的参数,返回结果给客户端。(有的浏览器支持修改搜索引擎),所以对互联网厂商而言,浏览器就是自己的门面,非常重要。

SGlow0708的博客 1441

【Linux】文件 --- 文件属性 | 修改文件属性与权限

【Linux】文件属性 | 修改文件属性与权限 在Linux系统中,我们可以使用ls -al指令来列出所有的文件信息,如下图所示:

Ceylan__的博客 3430

Linux的文件属性及修改权限方式

1. Linux文件权限概念 1.1 Linux 文件属性 以用户登录系统,然后使用 su - 切换身份成为 root ,执行 ls -al 可以看到许多东西 从左往右分别是: 权限 ----------链接–拥有者-用户组-文件容量-修改日期----文件名 ls是 list 的意思,重点在现实文件名与相关属性,而选项 [ -al ] 则表示列出所有的文件详细的权限与属性(包含隐藏文件,就是文件名第一个字符为[.]的文件) 拿上图中的绿色文件 test 做举例: -rwx

qq_44832907的博客 1438

Linux相关概念和易错知识点(21)(软硬链接、动静态库)

理解两者的差异,搞清楚为什么要这么做很重要。

SGlow0708的博客 1313

Linux的权限

在Linux下有两种用户,超级用户(root)以及普通用户。超级用户拥有整个系统中的最高权利,可以对目录,文件等随意进行操作。而普通用户只能在自己的家目录下进行相关操作。超级用户的命令提示符是“#”,普通用户命令提示符是“若普通用户想要进行管理员权限的操作,可以使用 su root 的命令,然后输入超级用户口令就可以登陆到root用户。同理,若想切换到其他普通用户也可以 su 【用户名】。

2401_86449430的博客 1万+

Linux相关概念和易错知识点(23)(进程间通信、匿名管道、进程池)

通过进程池的代码,我们能够进一步深入了解进程间通信的原理,其中最难理解的就是数据不一致问题,匿名管道的面向字节流就决定了它不适合多次数据传输,不过我们依然使用它走完了进程池的流程,了解即可。在整个过程中,读写端都将对方当作了文件,都是对pipe文件进行IO,这再次体现出Linux一切皆文件的思想,值得我们体会。

SGlow0708的博客 1082

linux的文件时间属性

在Linux文件系统中,是指与文件相关的三个关键时间戳:创建时间(ctime)、修改时间(mtime)和访问时间(atime)。这些时间戳不仅记录了文件生命周期中的重要时刻,还为系统管理员提供了宝贵的监控和管理工具。通过精确追踪文件的创建、修改和访问时间,Linux系统能够有效维护数据完整性、支持版本控制和备份策略,从而保障整个系统的安全性和可靠性。这种基于时间的文件管理系统反映了人类对时间感知和控制的需求,在日常操作中扮演着不可或缺的角色。

2401_86544677的博客 1811

Linux学习笔记——修改文件和目录的属性及权限

一、修改文件和目录的属性及权限 chown命令改变某个文件或目录的所有者和所属的组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。用户可以是用户或者是用户ID,用户组可以是组名或组ID。文件名可以使由空格分开的文件列表,在文件名中可以包含通配符。 注意:在Linux命令大全中说chown命令:只有文件主和超级用户才可以便用该命令,而在菜鸟教程上是:一般来说,这个指令只...

qq_42683219的博客 3630

【Linux】权限相关知识点

权限管理

Freesia_2350的博客 1100

Linux下的权限管理与相关时间概念

一、Linux文件类型 1、普通文件(regular file)第一个字符为[ - ] ①纯文本档(ASCII):内容为我们人类可以直接读到的数据,例如数字、字母等等。 ②二进制文件(binary):Linux中的可执行文件(除scripts, 文字型批处理文件之外)就是这种格式的。 ③数据格式文件(data):有些程序在运作的过程当中会读取某些特定格式的档案,那些特定格式的档案可以被

snow_5288的博客 743

修改 Linux 系统时间

另一种常见的做法是通过与时间服务器同步系统时间。Linux 系统通常安装了 NTP(Network Time Protocol)客户端,可以自动与时间服务器同步时间。这是一个简单的 Markdown 文档,介绍了如何在 Linux 系统中修改系统时间。你还可以从文件中读取时间并设置为系统时间。命令不仅可以显示当前时间,还可以设置系统时间。你可以使用不同的时间格式来指定日期和时间。除了设置特定的日期和时间,你还可以设置相对于当前时间的偏移量。请注意,你需要确保系统能够访问指定的时间服务器。

智的博客 7444
上一篇: Linux相关概念和易错知识点(4)(自举、vim)
下一篇: Linux相关概念和易错知识点(6)(make、makefile、gdb)
-SGlow-
博客等级 码龄3年 1513粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值