Linux学习:权限
目录
- 1. shell命令的工作原理与存在意义
- 1.1 shell命令解释器存在的意义
- 1.2 shell解释器的工作原理
- 2. Linux操作系统:用户
- 2.1 什么是用户
- 2.2 用户的切换操作
- 2.3 用户权限划分的意义
- 3. Linux中权限的种类和意义
- 3.1 什么是权限
- 3.2 sudo指令与短暂提权
- 4. 文件类型与文件权限
- 4.1 文件的权限
- 4.2 文件权限的更改指令
- 4.3 文件的类型
- 5. 目录权限,公共目录与粘滞键
- 5.1 目录文件权限的意义
- 5.2 权限掩码
- 5.3 文件共享,公共目录与粘滞键
1. shell命令的工作原理与存在意义
- shell(译:外壳)命令行解释器,所有的命令行解释器(诸如,bash等)都可以被称作shell
- 我们平时所理解操作系统(广义上)都是由两部分组成,即内核(kernel)+ 外壳(shell),而真正的作为操作系统发挥着职能的实则是内核,shell只是充当了中间一个传递与解释的角色,那么为什么我们不去更高效的直接去对内核进行操作,要通过shell来执行呢?

1.1 shell命令解释器存在的意义
- 操作系统的内核有着大量的文件,数据,这些资源时操作系统的核心,正是它们组成了操作系统使得操作系统正常运行,发挥职能。
- 正因为它们的关键作用,一但出错操作系统就会瘫痪,内核中的资源庞大且复杂,如果我们去直接操作内核不但需要极强的专业素养花费大量的精力,同时因为内核的完全暴露,也意味着安全无法得到保障,所以我们直接去操作内核是及其吃力不讨好的事情。
- 由此出现了用户与操作系统讷河之间的沟通保障与桥梁shell(命令行解释器)

1.2 shell解释器的工作原理
- shell解释器本质上是一个从我们登录操作系统到离开期间一直运行的程序,它以控制台的形式命令行的方式为我们提供服务。
- 为了持续稳定的为我们提供服务,shell在执行大部分操作时都会额外开辟一个个子进程(进程:正在执行的程序)来代替自己执行,只有极少部分无风险操作它才可能亲自己执行。这样即便发生错误也不会影响服务的提供,使得shell挂掉。
2. Linux操作系统:用户
2.1 什么是用户
- 在使用操作系统时,我们是以用户的身份登录的,不同的用户有在操作系统享有不同的权限和资源,以此为标准用户可以分为两类:
<1> root(超级用户,管理员)
<2> 普通用户
2.2 用户的切换操作
- 每当我们登录操作系统时,都需要密码,不同的密码登录也代表着不同的用户身份。在我们登录后我们的身份不是无法更改的,我们可以通过指令与配套身份用户的密码来实现的身份的切换。
指令:
su
1.指令意义:将身份切换为管理员
指令:
su -
2. 指令意义:以管理员的身份再登录一次
指令:
su [用户名]
3. 指令意义:将身份切换为其他普通用户
指令:
su -[用户名]
4. 指令意义:以其他普通用户的身份再登录一次
5.补充:用户身份间的切换细节受到当前身份权限的影响,具体如下:

2.3 用户权限划分的意义
- 互联网公司的开发部门都是通过一个个服务器来实现项目小组内成员的合作,来高效的进行项目开发
- 用户权限的分配,会根据开发人员各自职责,能力划分,使得每个只能在自己所拥有的权限内施为,提高了效率,也极大的提高了项目的安全性健壮性。
除此之外,当开发人员想要做出一些权限外的想法尝试,不会因为一时冲动而导致错误,必须要与管理员与同组人员进行交流探究可行性。(权限划分:保险)
3. Linux中权限的种类和意义
3.1 什么是权限
- 权限不能凭空而存在,必须依托于已有的事物与其功能,当我们凭借权限做出某个操作时,提及权限的前提便是这个操作,动作已经存在,而权限是划分能或者不能的指标。
- 当某个事物有着某些功能时,也往往表示着它会有哪些权限,文本文件是存储信息的文件,它可以进行信息的读,写,查看这也就意味着它存在着读,写,看的权限。
- 在Linux系统中,是否拥有权限既要看权限对应的功能是否存在,也要看当前用户是否有权限去做。
3.2 sudo指令与短暂提权
- 当因为开发需要与获得许可后,在操作系统中我们以自己普通用户身份进行项目开发与操作需要一些额外权限时,直接向管理员索要超级用户的登录密码,切换超级用户后再进行操作的方式是非常不便的,同时可能会给操作系统带来安全隐患。
- 通过sudo指令短暂提权就可以很好的解决上述问题,sudo指令短暂提权的操作也是需要被赋予权限的,具体为向操作系统的sudoers配置文件(白名单)中添加需要此权限的用户。
- 指令sudo + 执行指令
<1> 指令意义:以超级用户的权限执行此条指令
<2> 执行此指令需要当前普通用户的登录密码
<3> 在输入过一次密码之后,短时间内不用再次输入
- 补充:
<1> 超级用户向操作系统中添加超级用户:
指令:adduser [新用户]
<2> 给新用户配置登录密码(不可缺省):
指令:passwd [新用户]
<3> 删除操作系统中用户:
指令:userdel -r [用户]
4. 文件类型与文件权限
4.1 文件的权限
- 文件的有着可以被读,写,执行的功能,对应的也有着对使用者的权限限制分类。我们在前面的学习中知道,操作系统中存在着不同权限等级的用户,对于普通用户文件将其划分为三类:
<1> 文件的创建者,拥有者
<2> 与文件拥有者一个所属组的用户
<3> 其他用户- 超级用户虽然属于文件识别中的其他用户,但不受文件权限划分的影响
- 查看文件信息时,各类用户的权限详情:(指令
ll)
- 文件的信息内容:

4.2 文件权限的更改指令
如何查看文件的权限信息:
- 文件的权限并不是一成不变的,而是可以被文件拥有者通过指令更改调整的。
- 文件的权限共有三种(读,写,可执行),文件的权限信息位由三位组成,再对应三种相对于文件的用户身份,文件的权限位一共九位。
- 文件信息中可以浏览文件当前有没有相对应的权限,权限位的排列顺序为读,写,可执行。其中,r代表读权限,w代表写,修改的权限,x代表可执行的权限,当相对应权限没有时,其权限位位字符
-。
如何更改文件权限:
- 指令:chmod [用户代表字符] +/- [相对应权限代表字符] [文件]
<1> 拥有者:u(user),所属组:g(group),其他:o(other),所有人:a(all)
<2> 读:r,写:w,可执行:x(可复合使用:+/- rwx)- chmod指令的8进制指令参数:
<1> 将用户字符与权限字符,替换为 0~7
<2> 二进制位上1代表有权限,0代表没有此权限,一个8进制数代表一种用户的权限
示例:chmod 777(为所有人添加所有权限)
文件可执行的条件:
- 当前用户有文件的可执行权限,当前用户是可执行程序。
文件的权限判断方式:
- 文件的拥有者往往同时也属于文件的所属组,当我们将拥有者权限关闭时,拥有者不能再凭借文件所属组的身份获得文件所属组的权限。(文件权限的判断,有固定的顺序逻辑)
更改文件的拥有者与所属组:
- <1>指令:chown [新用户] [文件](需要超级用户的权限)
指令意义:更改文件的拥有者为新用户
<2> 指令:chown [新用户] : [所属组] [文件](root)
指令意义:更改文件的拥有者与所属组
<3> 指令:chgrp [所属组] [文件](root)
指令意义:更改文件的所属组
4.3 文件的类型
- Linux操作系统下一切皆是文件,那么为了描述操作系统中各种各样的资源,为了实现各种各样的功能,就一定会有各种不同类型的文件,以不同的功能,特征,文件被划分许多种。
- 那么,Linux下的文件种类有多少,我们接下来进行了解:
<1> 普通文件-:文本文件,源代码,图片,视频,可执行程序等
<2> 目录文件d:文件夹
<3> 字符设备文件c:键盘,显示器
<4> block块设备文件b:磁盘
<5> 链接文件l:快捷方式
<6> 管道文件p:同一操作系统中可以连接不同用户间的文件
<7> socket文件s
补充:设别文件目录路径:/dev/vda
Linux下文件类型的判断方式与文件后缀
- Windows操作系统中,文件的类型是由文件后缀决定的,而Linux中却不是这样,这样是否意味着我们在为文件命名时,就可以为所有文件不加文件后缀呢?
- 事实并给如此,Linux下确实不以文件的后缀确定文件的类型,可是一些建立在操作系统上的其他库,编译器,工具却要以文件后缀的方式分辨文件是否复合类型,加上文件后缀也更便于我们对文件进行分辨,识别,管理。
- 指令:file [文件]
指令意义:识别文件的类型
5. 目录权限,公共目录与粘滞键
5.1 目录文件权限的意义
我们知道Linux操作系统下一切皆文件,目录也是一种文件,因为文件有读,写,可执行的权限,而这三种权限在目录文件也有相对应的操作,接下来我们进行这方面的学习。
使用指令
ll -d查看目录文件的信息
- 对于目录而言,进入目录需要
x可执行权限r读权限,对应着查看目录中文件的信息,没有此权限无法查看文件信息w写权限,对应着在目录中创建,删除,修改文件- 目录读写权限与更改目录中文件本身的权限属性不冲突
5.2 权限掩码
- 我们创建的普通文件,目录文件在浏览它们的文件信息时,不难发现它们被创建出后并非是如我们所想的所有权限都有的初始状态。这是为何,我们引入权限掩码的概念。
- 一个权限被创建出时初始权限由两个因素共同决定,一是此种文件在操作系统中的起始权限,二是可以自定义的权限掩码
<1> 普通文件的起始权限为,664,即拥有者与所属组都有读写权限,而other只有读权限,这是由普通权限的性质决定的,大部分普通文件都不是可执行程序,所以在起始权限的设置上我们并未附加可执行权限。
<2> 目录文件的起始权限为,777
- 起始权限 与 权限掩码的计算逻辑,为将权限掩码中出现的权限在起始权限中去掉。数学上的计算操作即为,将权限掩码取反再和起始权限做按位与运算(~ + &)
- 查看与更改操作系统权限掩码
<1> 指令:umask
指令意义:查看权限掩码
<2> 指令:umask [新的权限掩码](不需要超级用户权限)
指令意义:更改权限掩码
5.3 文件共享,公共目录与粘滞键
- Linux操作系统下,普通用户间的项目协作存在着诸多不便,各自创建的文件资源无法妥善处理。
<1> 当共享文件资源存放在任意一方的家目录中时,就要赋予对方,家目录的一定权限,这对被访问方家目录中的资源造成了信息泄露,安全隐患
<2> 因为需要共同协作,那么,资源就要集中存放,就不得不给予合作者创建文件在当前目录创建文件的权限,可是创建权限与文件卸载权限捆绑
- Linux中存在着一个公共目录,所有人都可以在此目录中创建,存放文件。有了公共目录的存在就解决了,第一个问题以家目录为共享工作目录时存在的安全隐患。可是问题2,依旧存在,即使是公共目录创建权限与文件权限仍然捆绑,任何人都可以删除公共目录中的任何文件。这时,我们引入粘滞键。
- 为了解决上述问题2,Linux中加入了粘滞键概念:
<1> 我们可以通过,指令:chmod +t [文件],使得目录中的其他用户不再有删除己方文件的权限
<2> 补充:指令touch [文件1][文件2][文件3]…,可以一次创建多个文件。
相关文章:
Linux学习:权限
目录 1. shell命令的工作原理与存在意义1.1 shell命令解释器存在的意义1.2 shell解释器的工作原理 2. Linux操作系统:用户2.1 什么是用户2.2 用户的切换操作2.3 用户权限划分的意义 3. Linux中权限的种类和意义3.1 什么是权限3.2 sudo指令与短暂提权 4. 文件类型与文…...
汉诺塔问题代码写法的详细解析
汉诺塔游戏规则: 规则: 汉诺塔问题是一个经典的问题。汉诺塔(Hanoi Tower),又称河内塔,源于印度一个古老传说。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着…...
Python爬虫入门
什么是爬虫 爬虫就是程序,一个能获取互联网上的资源(文字、图片、音视频)数据的程序。 不用爬⾍, 打开浏览器, 输⼊百度的⽹址,就能在浏览器上看到百度的内容了。那换成爬⾍呢? 道理是⼀样的。只不过,是⽤…...
【数据结构学习笔记】选择排序
【数据结构学习笔记】选择排序 参考电子书:排序算法精讲 算法原理 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元…...
小资金适合做伦敦金的投资吗?
在回答这个问题之前,我们首先需要了解伦敦金是什么。伦敦金,也称为伦敦金市场交易的黄金,是一种国际性的金融交易产品,其价格受全球政治、经济、货币政策、供求关系等多种因素影响,波动性较大。因此,投资伦…...
自动化运维工具 ---------------Ansible
一、Ansible 发展史及功能 作者:Michael DeHaan( Cobbler pxe kikstar 与 Func 作者)ansible 的名称来自科幻小说《安德的游戏》中跨越时空的即时通信工具,使用它可以在相距数光年的距离,远程实时控制前线的舰队战斗2…...
富格林:有效做单安全盈利方法
富格林悉知,在伦敦金的投资中,是否安全盈利很大一部分因素取决于是否有效做单,投资者在进入市场之后,需要学习了解伦敦金相关规则,学习一定的做单的技巧,这样有利于我们后续做单顺畅盈利。以下总结几点安全…...
二分查找的理解及应用场景。
一、是什么 在计算机科学中,二分查找算法,也称折半搜索算法,是一种在有序数组中查找某一特定元素的搜索算法 想要应用二分查找法,则这一堆数应有如下特性: 存储在数组中有序排序 搜索过程从数组的中间元素开始&…...
共创时代,品牌如何做好UGC营销?
在当下的互联网时代,众多品牌已经逐渐意识到“产品为重”的影响方式已经很难提升转化率,内容才是吸引用户的必胜法宝,然而当代人被海量信息裹挟,人们的注意力成为稀缺资源,在这个环境下,UGC成为品牌的营销方…...
华为三层交换机:ACL的基本实验
实验要求: PC1不允许访问PC3,PC3可以访问PC1 分析问题: PC1不允许访问PC3,问题中含有“目标地址”则我们需要设置目标地址,这样基本ACL是不行的,必须使用高级ACL [sw1]acl ? INTEGER<2000-2999>…...
基于springboot+vue的旅游管理系统
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
4. git 添加版本标签
要给某一分支的某一提交版本添加标签(tag),你首先需要确定该提交版本在分支上的具体哈希值(commit hash)。 一旦你有了这个哈希值,你就可以像之前描述的那样使用 git tag 命令来创建标签。 以下是如何操作的…...
2024 PhpStorm激活,分享几个PhpStorm激活的方案
文章目录 PhpStorm 公司简介我这边使用PhpStorm的理由PhpStorm 2023.3 最新变化AI Assistant 预览阶段结束 正式版基于 LLM 的代码补全测试代码生成编辑器内代码生成控制台中基于 AI 的错误解释 Pest 更新PHP 8.3 支持#[\Override] 特性新的 json_validate() 函数类型化类常量弃…...
2419. prufer序列(prufer编码,模板题)
活动 - AcWing 本题需要你实现prufer序列与无根树之间的相互转化。 假设本题涉及的无根树共有 n 个节点,编号 1∼n。 为了更加简单明了的描述无根树的结构,我们不妨在输入和输出时将该无根树描述为一个以 n 号节点为根的有根树。 这样就可以设这棵无…...
鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Text)
显示一段文本的组件。 说明: 该组件从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含Span和ImageSpan子组件。 接口 Text(content?: string | Resource, value?: TextOptions) 从API versi…...
开源大数据集群部署(十五)Zookeeper集群部署
作者:櫰木 1、集群规划 主机版本角色系统用户hd1.dtstack.com3.7.1followerzookeeperhd2.dtstack.com3.7.1leaderzookeeperhd3.dtstack.com3.7.1followerzookeeper 2、zookeeper kerberos主体创建 在生产中zk服务端和客户端票据可以设置成不通名称或相同名称&am…...
服务器镜像是什么
镜像即镜像服务器。镜像服务器与主服务器的服务内容都是一样的,只是放在一个不同的地方,分担主服务器的负载量。 可以使用,但不是原版的。在网上内容完全相同而且同步更新的两个或多个服务器,除主服务器外,其余的都被称…...
JWT原理
JWT 介绍 JWT(JSON Web Token)是一个开放标准(RFC 7519),它定义了一种简洁的、自包含的方法用于通信双方之间以 JSON 对象的形式安全地传输信息。这种信息可以被验证和信任,因为它是数字签名的。JWT通常用于…...
操作系统:一款纯正的“管理”软件
目录 前言: 1.操作系统的概念 2.操作系统的结构示意图: 3.什么是接口? 4.什么是驱动程序? 4.什么是系统调用(system call)? 5.操作系统和操作系统内核的区别 6.设计OS的核心目的 前言&…...
Mac笔记本聚焦SpotLight占用内存太高的 解法
分享一个自创的绝对有效的解决苹果电脑Mac笔记本SpotLight聚焦占用内存过高的方法! 一、背景 / 问题原因 1、Mac的聚焦功能,可以快速打开应用程序,非常方便! But,随着电脑的使用文件等越来越多,就会导致SpotLight聚焦需要更多更多甚至巨多的内存来建立索引,就会导致电脑…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
基于SpringBoot在线拍卖系统的设计和实现
摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统,主要的模块包括管理员;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...
Chrome 浏览器前端与客户端双向通信实战
Chrome 前端(即页面 JS / Web UI)与客户端(C 后端)的交互机制,是 Chromium 架构中非常核心的一环。下面我将按常见场景,从通道、流程、技术栈几个角度做一套完整的分析,特别适合你这种在分析和改…...
软件工程 期末复习
瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...


