Linux 权限-+完整思维导图+实图例子+深入细节+通俗易懂建议收藏

news2024/12/26 22:15:47


绪论

        当时间的主人,命运的主宰,灵魂的舵手。上一回已将基础权限全部学习完了,本章开始我们将进入到权限的学习。

话不多说安全带系好,发车啦(建议电脑观看)


附:红色,部分为重点部分;蓝颜色为需要记忆的部分(不是死记硬背哈,多敲);黑色加粗或者其余颜色为次重点;黑色为描述需要


思维导图:

 

要XMind思维导图的话可以私信哈


目录

1.Linux下用户的分类

2.Linux权限管理

3.权限的修改指令

4.umask

5.目录的权限

6.粘滞位


1.Linux下用户的分类

知识点:

  1. root:超级用户,不受权限约束
  2. 普通用户:在root下创建的普通用户adduser,做有限的操作

细节:

用户切换的方法:

从普通用户切换到root:

su

按 Ctrl+d / 输入exit 退回到原本的用户

虽然用户变成了root,但本质还是在普通用户下只是用户变了。

并且我们需要知道无论是普通用户还是root用户都需有自己的密码,并且我们尽量不要创建成一样的命密码

su - :

相较于su 就是此时是真的root用户登录了


从root切换到普通用户(退出方法一样,但root不需要密码就能进到普通用户)

su 用户名 :

 


从普通用户 -> 普通用户的话:

在普通用户时,我们可能有时候对某些命令没有权利使用所以就需要,对某个指令提权:

sudo 加指令

不能使用是因为,系统不相信我们 ,我们此时还没有进到信任白名单中(无法提权)

就是,对此我们加入白名单的方法我们后期再讲


2.Linux权限管理

知识点:

权限跟人、事有关,针对不同的人和事就有不同的权限

而对于文件来说,文件的属性有读、写、执行 (r 、w 、 x)

一个文件下有如下特征:

细节:

文件的意义和文件的后缀没有太大的关系,如一个可执行程序不需要后缀一定是.out 就能执行该程序。 但注意如:gcc编译器编译一个C语言程序(.c为后缀) 以及一些 不是Linux的来识别文件时还是需要查看后缀的

Linux中对于后缀来说,看用户自己的需求可要可不要

文件的类型:

d:文件夹
 -:普通文件 (文本、可执行程序、库)

l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件


在Linux中分为:拥有者、所属组、其他人

其中拥有者好理解就是文件的权限者(root比较特殊他就是权限),所属组类似朋友他给了权限的话也能进行一些操作,同理其他人就是非拥有者和所属组的,他们也是通过权限来限制能力


root , 不受权限的约束 

同样下面这种情况对于非所属组/拥有者的都无法进行读写,但root可以


3.权限的修改指令

知识点:

chmod:设置文件的访问权限

  1. u表示拥有者(user)
    1. +-权限即可 : 如 u + r (就等于拥有者加上读权限以此类推
  2. g表示所属组(group)
    1. 同理 +-权限即可 : g + rwx (所属组加上 读 写 可执行 权限
  3. o表示其他人(other)
    1. 同理+- 权限即可 : o-r (其他人减去读权限)
  4. 若想一次性把所有人的权限都修改那就可以用a
    1. a + rwx 就把所有人都加上了 读写可执行权限(当然也能分开写 a + rwx,g+ rwx,o+rwx)
    2. a - rwx 把所有人都减去 ... 权限

具体语法为 : chmod 修改权限 文件名

例如:

把所有人都改成 rwx此时就能进入到ZYK的目录下了(前面讲权限哪里是进不去别人的家目录里的)

chown:改变拥有者,因为改变拥有者需要一定权限,所以需要使用root/sudo提权(话句话说给别人东西需要别人同意,而在Linux暂无这种情况,所以只能用更加强制的方法)

并且当你把东西给了就是别人的了不属于你了,拥有者就不是你了,你的权限将会受到身份的改变而改变


chgrp:改变所属组的人,方法一样(得使用root/sudo提权)

细节:

修改权限方法其实还有八进制的方法(代替rwx):
拿下面举例:

r-- : 100(4) 、rw- : 110(6) 、rwx: 111(7) 、r-x :  101(5) 、--x : 001(1)

、-w- : 010(2)  、 -wx :011(3)

有了这八进制的表示方法,我们就能直接通过八进制来代替(rwx)进行权限的修改

 此时 777 就表示 rwx  rwx rwx

再改成 444 那就全都只有 读了 

附:

每次每人都只能用一种身份去对应文件当同时有两种身份时,都是只看前面的身份,若前面的不符合那就不会再往后看了

 一次把东西要回来我们可以:

命令行提示符为   $是普通用户 、 #是root用户


4.umask

知识点:

功能:查看或修改文件掩码(直接输入umask查看,在umask后面加数值改变掩码)

Linux下规定的是:     

新建文件夹默认权限=0 666(第一位的0表示8进制)
新建目录默认权限=0  777

而观察到的却是:

细节:

对于上面的情况是因为有权限掩码的存在才导致这种情况的发生

    

因为,凡是在umask出现的权限,就不会再文件中出现:

一般默认的umask = 0002 (000 000 010)

所以对于默认的 666 777 最终就会被umask影响成 664 和 775:

666 : 110 110 111

            000 000 010

664 : 110 110  100 (等同于最终权限 = 起始权限 & (~umask))

总结来说:umask 可以用来改变创建好时的文件权限的起始

umask 可以自行修改,直接在umask后面加上你要改成的umask值  


5.目录的权限

知识点:

对于目录来说,他的r w x 和普通文件普通有些不同

对于目录来说,他们能否进入到目录内主要是与 x 可执行有关

当只是没有 r 和 w 时是能进入到目录里,但是不能查看目录内部的文件内容以及不能在目录里面创建(更改、删除)文件 等,

若直接没有 x 那直接就进不去文件了

所以就得出如下目录的权限规则:


6.粘滞位

知识点:

前提:

当在一个共享目录shard此时这个目录应该是root创建在根目录下,才能实现共享,否则在别人的家目录内,若不改变权限默认是不能进入到别人的家目录中的

其他用户也都能进入到这个共享目录下,并且像内部写一些共享的东西

此时就能在这个目录下写共享文件了

所以因为在目录下其他人也有w权限,所以可以把别人创建的文件给删了: 

这是一种不好的行为,因此我们需要限制这种行为的发生,而  粘滞位  就是为了防止目录下这种情况的发生 :

粘滞位的使用方法:

 此时原本x的位置就会变成t

 然后就不能删除他人的文件了        

附:

其实根目录下已默认生成了一个临时共享的空间,在根目录下的tmp目录


本章完。预知后事如何,暂听下回分解。

如果有任何问题欢迎讨论哈!

如果觉得这篇文章对你有所帮助的话点点赞吧!

持续更新大量Linux细致内容,早关注不迷路。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/549668.html

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

相关文章

基于Gitee的webhook编写hugo的自动构建实现博客自动更新

前言 差不多半年前趁着某云优惠,我买了5年的轻量级应用服务器。 拿着这个服务器原本打算做我的某个APP的服务端的,后来又觉得迁移数据好麻烦,所以随便搞了个博客上去。 选来选去,使用了 hugo 作为构建引擎。 正好,…

跟我一起使用 compose 做一个跨平台的黑白棋游戏(1)整体实现思路

前言 为什么写这系列文章 虽然 compose 正式版已经出来很久了,也有很多大佬写了很多教程文章和实例 demo ,但是对于 compose 其实我也还是一知半解的。 特别是对于 compose 的状态管理,由于 compose 声明式的特性,如果不对状态…

chatgpt赋能Python-pythonfor怎么用

PythonFor SEO:如何利用Python提高SEO效果 SEO(搜索引擎优化)是现代数字营销中至关重要的一环。随着搜索引擎算法不断发展,优化网站以提高排名已经成为了一门复杂的艺术。幸运的是,Python提供了一些强大的工具来简化这…

chatgpt赋能Python-pythonelem

PythonELEM - 简易的Python学习工具 作为一名有10年Python编程经验的工程师,我可以深刻地体会到新手们学习Python的难处。PythonELEM是一个以Python为主题的学习工具,它可以帮助初学者更容易地掌握Python编程。 PythonELEM的功能 PythonELEM是一个简易…

餐饮油烟排放监测管理系统的设计与应用

安科瑞虞佳豪 连日来,河东区生态环境保护综合行政执法支队组织开展餐饮行业油烟净化专项检查工作,有效应对即将到来的夏季餐饮油烟对环境的污染,着力解决群众身边的环境问题。 执法人员对辖区餐饮商户集中区域开展常态化巡查,重…

Metal入门学习:绘制渲染三角形

一、编程指南PDF下载链接(中英文档) 1、Metal编程指南PDF链接 https://github.com/dennie-lee/ios_tech_record/raw/main/Metal学习PDF/Metal 编程指南.pdf 2、Metal着色语言(Metal Shader Language:简称MSL)编程指南PDF链接 https://github.com/dennie-lee/ios_te…

chatgpt赋能Python-pythoncumsum

Python中的cumsum-累积求和函数 在数据处理中,经常需要对一个序列的元素进行累加。Python中提供了累积求和函数cumsum(),用于对一个序列的元素进行累加求和操作。 什么是cumsum()函数 cumsum()函数是Python中numpy模块中的一个函数,用于对…

通过小米万兆路由器将小米SoundMove 无缝接入 ChatGPT

通过小米万兆路由器将小米SoundMove 无缝接入 ChatGPT 本教程内容参考 Github 地址(可选)部署查看小米 SoundMove 信息的环境(可选)查看小米 SoundMove 的信息以容器方式部署程序到小米万兆路由器实际效果有待改善点 本教程内容 1 是记录了将小米 SoundMove 接入 ChatGPT 的操…

面向《海贼王》领域数据的知识图谱项目

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 本次任务试图为《海贼王》中出现的各个实体,包括人物、地点、组织等,构建一个知识图谱,帮助我们更好的理解这部作品。 项目内容包括数据采集、知识存储、知识抽取、知识计算、知识应用五大部…

【运动规划算法项目实战】如何使用Pure Pursuit算法进行路径跟踪(附ROS C++代码)

文章目录 前言一、简介二、Pure Pursuit算法优缺点三、 代码实现3.1 算法实现步骤3.2 pure_pursuit.h3.3 pure_pursuit.cpp3.4 cubic_spline_path.py3.5 节点连接关系3.6 RVIZ显示四、总结前言 在自动驾驶和机器人导航领域,路径跟踪是一项关键技术,它使车辆或机器人能够按照…

多线程排序法

多线程排序法 chatGPT给我改的多线程排序法 using System.Collections.Concurrent; using System.Threading; ConcurrentBag<int> sortedList new ConcurrentBag<int>(); void Sort() { int[] arr {2, 6, 12, 8}; List<Thread> threads new List<Threa…

chatgpt赋能Python-pythondone

PythonDone&#xff1a;将Python编程变得更加简单 介绍 Python是一种有着广泛应用的高级编程语言&#xff0c;由于其简洁易学、开发效率高、可移植性好等特点&#xff0c;成为业内最热门的技术之一。但是&#xff0c;对于一些初学者来说&#xff0c;Python的学习过程可能还是…

【论文分享|SIGMOD‘22】WeTune 自动发现和验证重写规则

作者&#xff1a;谢其骏 北京航空航天大学在读硕士&#xff0c; Databend 研发工程师实习生 https://github.com/jun0315 论文原文&#xff1a; Zhaoguo Wang, Zhou Zhou, Yicun Yang, Haoran Ding, Gansen Hu, Ding Ding, Chuzhe Tang, Haibo Chen, Jinyang Li. WeTune: Auto…

【AIGC】11、MDETR | LeCun 团队于 2021 年推出的端到端多模态理解模型

文章目录 一、背景二、方法2.1 DETR2.2 MDETR 三、效果3.1 预训练调整后的检测器3.2 下游任务 论文&#xff1a;MDETR - Modulated Detection for End-to-End Multi-Modal Understanding 代码&#xff1a;https://github.com/ashkamath/mdetr 出处&#xff1a;ICCV 2021 Oral…

chatgpt赋能Python-pythonctrl快捷键

PythonCtrl快捷键使用指南 作为一名有10年Python编程经验的工程师&#xff0c;我深知PythonCtrl快捷键的重要性。PythonCtrl作为一个Python的开源编辑器&#xff0c;在每一个版本中都加入了更多的功能和快捷键&#xff0c;使得Python编程更加高效和易用。在本篇文章中&#xf…

卡方分布分析与应用

卡方检验(chi-square&#xff0c;记为χ2检验)是统计学中常用来计数数据分析的方法&#xff0c;对于总体的分布不作任何假设&#xff0c;因此它属于非参数检验法中的一种。本博文从理论到实际应用去阐述卡方检验&#xff0c;最后用python语言去实现卡方分布的代码。 1. 卡方分…

Spring Security的基本组件

一.简介 Spring Security通过一些列的过滤器完成了用户身份认证及其授权工作&#xff0c;每个过滤器都有不同分工&#xff0c;当然这些过滤器并不是全部都一起工作&#xff0c;而是根据我们需要什么功能&#xff0c;才会选取对应的过滤器加入。 当然这些过滤器并不是直接加入…

Linux 终端特殊符号含义大全

Linux特殊符号使用及含义 总结 Linux 终端中有许多特殊符号&#xff0c;本文对常用的进行了总结&#xff1a; $ 表示变量/普通终端用户&#xff1a;用于引用变量的值/表示终端中的普通用户。# 表示注释/超级用户&#xff1a;用于在脚本中注释代码/表示终端中的超级用户。/ &…

Doxygen 源码分析: QCString类

2023-05-20 23:41:56 ChrisZZ imzhuofoxmailcom Hompage https://github.com/zchrissirhcz 文章目录 1. Doxygen 版本2. QCString 类概览3. QCString 特殊成员函数3.1 default 方式的构造函数3.2 单个参数和两个参数的构造函数 4. inline方式实现的成员函数4.1 operator 函数4.…

chatgpt赋能Python-pythonguanwang

Python官网SEO分析 Python是一种高级编程语言&#xff0c;被广泛应用于Web开发、数据科学、人工智能、机器学习等领域。Python官网&#xff08;https://www.python.org&#xff09;是Python语言的官方网站&#xff0c;为Python用户和开发者提供了最新的Python解释器、文档、库…