深度解剖Linux权限的概念

> 作者简介:დ旧言~,目前大二,现在学习Java,c,c++,Python等
> 座右铭:松树千年终是朽,槿花一日自为荣。

> 目标:牢记Linux权限的概念。

> 毒鸡汤:你不能左右天气,但你能转变你的心情。
> 望小伙伴们点赞👍收藏✨加关注哟💕💕 

🌟前言

        前面我们已经学习的Linux的基本指令,对指令有一定的认识,当我们在输入指令时,大家是否有一个问题,Linux有两种用户,一个就是普通用户,另一个是超级用户,就是我们输入的指令是在哪个权限下执行的,这值得我们深思,本篇博客从这个问题展开,学习Linux权限的概念。

主体

咱们从四个方面讲解,权限概述,权限设置,属主与属组设置,扩展。



 🌙权限概述

Linux下有两种用户:超级用户(root)、普通用户。

  • 超级用户:可以再linux系统下做任何事情,不受限制
  • 普通用户:在linux下做有限的事情。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

命令:su [用户名] 
功能:切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su
root(root可以省略),此时系统会提示输入root用户的口令。

💫权限介绍

什么是权限?

在多用户(可以不同时)计算机系统的管理中,权限是指某个特点的用户具有特定的系统资源使用权力,像是文件夹、特定系统指令的使用或存储量的限制。

在linux中分别有读、写、执行权限:

①读权限r

  • 对于文件夹来说,读权限影响用户是否能够列出目录结构
  • 对于文件来说,读权限影响用户是否能够查看文件内容

②写权限w

  • 对文件夹来说,写权限影响用户是否可以在文件夹下“创建/删除/复制到/移动到”文档
  • 对文件来说,写权限影响用户是否可以编辑文件

③执行权限

  • 一般都是对于文件来说,特别是脚本文件。

💫身份介绍

①owner身份(文件所有者,默认为文件的创建者)
         由于linux是多用户、多任务的操作系统,因此可能常常有多人同时在某台主机上工作,但每个人均可在主机上设置文件的权限,让其成为个人的“私密文件”,即个人所有者,因为设置了适当的文件权限,除本人(文件所有者)之外的用户无法查看文件内容。

         例如某个MM给你发了一封Email情书,你将情书转为文件之后存档在自己的主文件夹中,为了不让别人看到情书的内容,你就能利用所有者的身份去设置文件的适当权限,这样,即使你的情敌想偷看你的情书内容也是做不到的。

②group身份(与文件所有者同组的用户)
         与文件所有者同组最有用的功能就体现在多个团队在同一台主机上开发资源的时候,例如主机上有A、B两个团体,A中有a1、a2、a3三个成员,B中有b1、b2两个成员,这两个团体要共同完成一份报告F。由于设置了适当的权限,A、B团队中的成员都能互相修改对方的数据,但是团体C的成员则不能修改F的内容,甚至连查看的权限都没有。同时,团体的成员也能设置自己的私密文件,让团队的其他成员也读取不了文件数据,在linux中,每个账户支持多个用户组。如用户a1、b1既可以属于A用户组,也能属于B用户组。【主组和附加组】

③others身份(其他人,相对于所有者)
        简单来说就是除了owner和owner所属group的成员之外的人(与owner没有关系的用户)

        这是一个相对概念,打个比方:大明、二明、小明一家三兄弟住在一间房,房产证上的登记者是大明(owner),那么大明一家就是一个用户组(group),这个组有大明、二明、小明三个成员;有个外人叫张三,和他们没有关系,张三就是其他人(others)。

        同时,大明、二明、小明有各自的房间,三人虽然能随意进出各自的房间,但是小明不能让大明看到自己的情书、日记等,这就是文件所有者(用户)的意义。

④root用户(超级用户)
        在linux中,还有一个神一样存在的用户,这就是root用户,因为在所有用户中它拥有最大的权限,所以管理着普通用户。

💫Linux权限的介绍

这里我们用ll指令查看文件属性:



文件类型:

  • a、其是文件类型;
  • b、所有者:可读可写,不可执行;
  • c、同组用户:可读,不可写不可执行;
  • d、其他用户:可读、不可写不可执行。

文件权限:

  • i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  • iv.“—”表示不具有该项权限

 🌙权限设置

语法:#chmod  选项  权限模式  文档

注意点:如果想要给文档设置权限,操作者要么是root用户,要么就是文档的所有者。

💫用字母形式改文件属性

咱们看看下面的图:

 给谁设置:

  • u:表示所有者身份owner(user)
  • g:表示给所有者同组用户设置(group)
  • o:表示others,给其他用户设置权限
  • a:表示all,给所有人(包含ugo部分)设置权限

                如果在设置权限的时候不指定给谁设置,则默认给所有用户设置

权限字符:

  • r:读
  • w:写
  • x:表示执行

权限分配方式:

  • +:表示给具体的用户新增权限(相对于当前权限)
  • -:表示删除用户的权限(相对于当前权限)
  • =:表示将权限设置成具体的值(注重结果)

例如,需要给demo文件(-rw------)设置权限,要求所有者拥有全部权限,同组用户拥有读和执行权限,其他用户只读权限。

提示:当文档具有执行权限时就显示为绿色。

 例如,如果anaconda-ks.cfg文件什么权限都没有,可以使用root用户设置所有人都有执行权限,则可以写成

        ①#chmod  a=x  anaconda-ks.cfg

        ②#chmod  +x  anaconda-ks.cfg

        ③#chmod  a+x  anaconda-ka.cfg

💫用数字形式改文件属性

咱们看看下面的图:



咱们用一下数字命令改文件属性:

 🌙所属用户与所属用户组设置

咱们再看看这张图:

💫用chown改所属用户

作用:更改文档的所属用户

语法:#chown  (-R)  username  文档路径

案例:将刚才root用户创建的文件夹更改所属用户为user1

💫用chgr改所属用户组

作用:更改文档的所属用户组。

语法:#chgrp  (-R)  groupname   文档路径

案例:将刚才root用户创建的oo文件夹更改所属用户为test,并且将所属用户组更改为test

#chgrp  test  /oo

 🌙扩展

普通用户创建:

首先用adduser命令添加一个普通用户,命令如下:
#adduser tommy  //添加一个名为tommy的用户
#passwd tommy   //密码

超级用户变成普通用户:(root-->xtd)

用法:su 普通用户

普通用户变成超级用户:(xtd-->root)

用法:su + 回车 + 超级用户密码

 🌟结束语

       今天内容就到这里啦,时间过得很快,大家沉下心来好好学习,会有一定的收获的,大家多多坚持,嘻嘻,成功路上注定孤独,因为坚持的人不多。那请大家举起自己的小说手给博主一键三连,有你们的支持是我最大的动力💞💞💞,回见。

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

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

相关文章

upload 文件自动上传写法,前后端 下载流文件流

<el-uploadv-model:file-list"fileList":action"app.api/student/student/import":headers"{// Content-Type: multipart/form-data;boundary----split-boundary, 此处切记不要加&#xff0c;否则会造成后端报错 Required request part file is…

C语言--输入10个数字,要求输出其中值最大的元素和该数字是第几个数

今天小编带大家了解一下什么是“打擂台”算法。 一.思路分析 可以定义一个数组arr&#xff0c;长度为10&#xff0c;用来存放10个数字&#xff0c;设计一个函数Max&#xff0c;用来求两个数中的较大值&#xff0c; 定义一个临时变量tmparr[0],保存临时最大的值&#xff0c;下标…

Hive 常用存储、压缩格式

1. Hive常用的存储格式 TEXTFI textfile为默认存储格式 存储方式&#xff1a;行存储 磁盘开销大 数据解析开销大 压缩的text文件 hive 无法进行合拆分 SEQUENCEFILE sequencefile二进制文件&#xff0c;以<key,value>的形式序列到文件中 存储方式&#xff1a;行存储 可…

Gogs安装和部署教程-centos上

0、什么是 Gogs? Gogs 是一款极易搭建的自助 Git 服务。 Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发&#xff0c;并且支持 Go 语言支持的 所有平台&#xff0c;包括 Linux、Mac OS X、Windo…

记录一次某某虚拟机的逆向

导语 学了一段时间的XPosed&#xff0c;发现XPosed真的好强&#xff0c;只要技术强&#xff0c;什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分…

Maven内网开发使用离线仓库

Maven内网开发使用离线仓库 离线或者内网环境开发与外网不通&#xff0c;中央仓库连不上&#xff0c;使用 Maven 管理项目会遇到很多问题。 比如&#xff1a;依赖包缺失&#xff0c;内网的Nexus私服的包老旧&#xff0c;很久没有维护&#xff0c;项目无法运行打包&#xff0c;…

C++语言的广泛应用领域

目录 1. 系统级编程 2. 游戏开发 3. 嵌入式系统 4. 大数据处理 5. 金融和量化分析 6. 人工智能和机器学习 7. 网络和通信 结语 C是一种多范式编程语言&#xff0c;具有高性能、中级抽象能力和面向对象的特性。由Bjarne Stroustrup于1979年首次设计并实现&#xff0c;C在…

基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码

基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蜉蝣算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蜉蝣优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神经网络的光滑…

Excel表列序号

题意&#xff1a; 给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 … Z -> 26 AA -> 27 AB -> 28 … 示例 1: 输入: columnTitle “A” 输出: 1 示例 2: 输…

指标体系:洞察变化的原因

一、指标概述 指标体系是指根据运营目标&#xff0c;整理出可以正确和准确反映业务运营特点的多个指标&#xff0c;并根据指标间的联系形成有机组合。 指标体系业务意义极强&#xff0c;所有指标体系都是为特定的业务经营目的而设计的。指标体系的设计应服从于这种目的&#x…

【fast2021论文导读】 Learning Cache Replacement with Cacheus

文章:Learning Cache Replacement with Cacheus 导读摘要: 机器学习的最新进展为解决计算系统中的经典问题开辟了新的、有吸引力的方法。对于存储系统,缓存替换是一个这样的问题,因为它对性能有巨大的影响。 本文第一个贡献,确定了与缓存相关的特征,特别是,四种工作负载…

Java自学第9课:JSP基础及内置对象

目录&#xff1a; 目录 1 JSP基础知识架构 1 指令标识 1 Page命令 2 Including指令 3 taglib指令 2 脚本标识 1 JSP表达式 2 声明标识 3 代码片段 3 JSP注释 1 HTML注释 2 带有JSP表达式的注释 3 隐藏注释 4 动态注释 4 动作标识 1 包含文件标识 2 请求转发标…

模型部署:量化中的Post-Training-Quantization(PTQ)和Quantization-Aware-Training(QAT)

模型部署&#xff1a;量化中的Post-Training-Quantization&#xff08;PTQ&#xff09;和Quantization-Aware-Training&#xff08;QAT&#xff09; 前言量化Post-Training-Quantization&#xff08;PTQ&#xff09;Quantization-Aware-Training&#xff08;QAT&#xff09; 参…

FFmpeg简介1

适逢FFmpeg6.1发布&#xff0c;准备深入学习下FFmpeg&#xff0c;将会写下系列学习记录。 在此列出主要学习资料&#xff0c;后续再不列&#xff0c;感谢这些大神的探路和分享&#xff0c;特别是雷神&#xff0c;致敬&#xff01; 《FFmpeg从入门到精通》 《深入理解FFmpeg》 …

Git版本控制系统之分支与标签(版本)

目录 一、Git分支&#xff08;Branch&#xff09; 1.1 分支作用 1.2 四种分支管理策略 1.3 使用案例 1.3.1 指令 1.3.2 结合应用场景使用 二、Git标签&#xff08;Tag&#xff09; 2.1 标签作用 2.2 标签规范 2.3 使用案例 2.3.1 指令 2.3.2 使用示例 一、Git分支&…

分布式理论基础:CAP定理

什么是CAP CAP原则又称CAP定理&#xff0c;指的是在一个分布式系统中&#xff0c;Consistency&#xff08;一致性&#xff09;、 Availability&#xff08;可用性&#xff09;、Partition tolerance&#xff08;分区容错性&#xff09;这三个基本需求&#xff0c;最多只能同时…

Unity Mirror学习(二) Command特性使用

Command&#xff08;命令&#xff09;特性 1&#xff0c;修饰方法的&#xff0c;当在客户端调用此方法&#xff0c;它将在服务端运行&#xff08;我的理解&#xff1a;客户端命令服务端做某事&#xff1b;或者说&#xff1a;客户端向服务端发消息&#xff0c;消息方法&#xff…

几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办

电脑提示mfc140.dll缺失&#xff0c;如果你不去处理的话&#xff0c;那么你的程序游戏什么都是启动不了的&#xff0c;如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决&#xff0c;今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…

Qt贝塞尔曲线

目录 引言核心代码基本表达绘制曲线使用QEasingCurve 完整代码 引言 贝塞尔曲线客户端开发中常见的过渡效果&#xff0c;如界面的淡入淡出、数值变化、颜色变化等等。为了能够更深的了解地理解贝塞尔曲线&#xff0c;本文通过Demo将贝塞尔曲线绘制出来&#xff0c;如下所示&am…

基于SSM的数据结构课程网络学习平台

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…