深度解剖Linux权限的概念

news2024/11/18 1:47:55

> 作者简介:დ旧言~,目前大二,现在学习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.coloradmin.cn/o/1200415.html

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

相关文章

k8s笔记资源限制,亲和和性 污点和容忍

镜像下载失败 当宿主机资源不足时,会把pod kill ,在其他node 重建 在宿主机放可能多的资源 requests(请求) limits(限制) 超出百分比 容器 pod namespace级别 pod使用资源过多,导致宿主机资源不足,会导致重建pod cpu 内存限…

通过Malloc 和 Free 的具体实现 加深对C指针 的理解(笔记)

【彻底搞懂C指针】Malloc 和 Free 的具体实现 https://danluu.com/malloc-tutorial/ 进程间的通信 : ①共享内存 ② 消息传递 (内核实现) 分配策略 (实现方面) by DUCK sbrk() malocal实现的主要函数 man sbrk 查看 数据结构 一个参考代码 https…

2.如何实现API统一响应-web组件篇

文章目录 1. 统一响应1.1 CommonResult 1. 统一响应 前端调用api接口获得统一的响应: 成功,返回成功的状态码和数据;失败,返回失败的状态码和错误提示。 在标准的 RESTful API 的定义,是推荐使用 HTTP 响应状态码 (…

PEFT概述:最先进的参数高效微调技术

了解参数高效微调技术,如LoRA,如何利用有限的计算资源对大型语言模型进行高效适应。 PEFT概述:最先进的参数高效微调技术 什么是PEFT什么是LoRA用例使用PEFT训练LLMs入门PEFT配置4位量化封装基础Transformer模型保存模型加载模型推理 结论 什…

Module build failed (from ./node_modules/postcss-loader/src/index.js):

出现该错误是你可能没认真看官网的安装配置,可直接看该目录3,一个字一个字看 先安装uview 如果选择v1版本,建议使用npm下载,下面以v1版本为例,使用的是npm下载,导入uview时该文件也在node_modules文件夹里…

常见后缀名总结 为你指点迷津

相信在日常的学习和工作中,大家一定会遇到各种各样的文件类型,他们的后缀名类型各不相同,诸多陌生的文件格式经常让大家不知道他们存在于电脑的意义,想删又没法删,想执行又无法执行。 今天,学长就带领大家一…

Linux学习第40天:Linux SPI 驱动实验(一):乾坤大挪移

Linux版本号4.1.15 芯片I.MX6ULL 大叔学Linux 品人间百味 思文短情长 主从工作方式完成数据交换,形象的说就是武侠中的乾坤大挪移。 本章实验的最终目的就是驱动 I.MX6UALPHA 开发板上的 ICM-20608 这个 SPI 接口的六轴传…

二十五、城市建成区结果制图——复杂图的制作

一、前言 有些时候看到一些参考文献中有些很复杂的图,例如多幅合并在一起,其实这种图本质上就是单一的图合并在一起,然后将其导出即可。 二、具体操作 其实对于制图必备要素的添加就不过多介绍,主要介绍有什么办法保持图形之间一致性,例如,其图例、指北针、比例尺统一…

着实不错的自适应大邻域搜索算法ALNS

文章目录 引言演进路线邻域搜索,NS变邻域搜素,VDNS大邻域搜索,LNS自适应大邻域搜索,ALNS 代码实现34个国内城市的TSP测试集XQF131 相关阅读 引言 之前介绍的差分进化算法和蚁群算法分别适用于求解连续优化问题和组合优化问题&…

Git基本概念和使用方式

Git 是一种版本控制系统,用于管理文件版本的变化。以下是其基本概念和使用方式: 仓库(repository):Git 存储代码的地方,可以理解为一个项目的文件夹。提交(commit):Git …

【OpenCV实现图像:用OpenCV图像处理技巧之白平衡算法2】

文章目录 概要Gray-world AlgotithmGround Truth Algorithm结论: 概要 随着数字图像处理技术的不断发展,白平衡算法成为了图像处理中一个关键的环节。白平衡的目标是校正图像中的颜色偏差,使得白色在图像中呈现真实的白色,从而提…

Linux之基础开发工具gdb调试器的使用(三)

文章目录 一、Linux调试器-gdb使用1、安装gdb2、背景3、Debug和release4、区分Debug和release 二、Linux调试器-gdb命令演示1、显示指定行之后的代码(自动记录最后一条指令)2、断点1、打印断点2、查看断点3、删除断点4、使能(禁用/开启&#…

统计分钟级别的视频在线用户数+列炸裂+repeat函数

统计分钟级别的视频在线用户数 1、原始数据如下: uid vid starttime endtime select aa as uid,v00l as vid,2023-10-25 12:00 as starttime,2023-10-2512:15 as endtime union select bb as uid,v002 as vid,2023-10-25 12:05 as starttime,2023-10-25 12:19 …

笔记:AI量化策略开发流程-基于BigQuant平台(二)

五、模型训练股票预测 完成了数据处理,接下来就可利用平台集成的各算法进行模型训练和模型预测啦。本文将详细介绍“模型训练”、“模型预测”两大模块操作、原理。 模型训练和模型预测是AI策略区别于传统量化策略的核心,我们通过模型训练模块利用训练…

为什么Android 手机这么慢?如何提高 Android 手机的运行速度

速印机(理想、荣大等)、复印机(夏普、东芝、理光、佳能、震旦等全系列)、打印机、扫描仪、传真机、多媒体教学一体机、交互式电子白板、报警器材、监控、竞业达监考设备及其它监考设备、听力考试设备、特种安防设备维护及维修。吴…

Linux必备:这十个流程图让你变的更强!

图是我们与信息联系并处理其重要性的绝佳方法;它们有助于传达关系和抽取信息,并使我们能够可视化概念。 从基本工作流程图到复杂的网络图,组织图,BPMN(业务过程模型和符号),UML图等等&#xff0…

面试10000次依然会问的【ThreadLocal】,你还不会?

ThreadLocal简介与基本概念 ThreadLocal,即线程局部变量,是Java语言中用于实现线程数据隔离的一个重要类。这种机制允许在多线程环境中,每个线程都有自己的变量副本,从而使得每个线程都可以独立地改变自己的副本,而不…

JDK1.8 新特性(一)【默认方法、静态方法和Lambda表达式】

前言 今天学习Java8 新特性,主要是之前在学习 Scala、JavaFX 中遇到一些 Lambda 表达式,感觉 lambda 表达式确实很简洁,很有必要学一学。 目录 前言 1、接口的默认方法与静态方法 编写接口 编写接口的实现类 测试 2、Lambda表达式&am…

YOLO目标检测——交通标志分类数据集下载分享【含对应voc、coco和yolo三种格式标签】

实际项目应用:交通标志识别数据集在自动驾驶、交通安全监控、智能交通系统、驾驶员辅助系统和城市规划等领域都有广泛应用的潜力数据集说明:交通标志分类数据集,真实场景的高质量图片数据,数据场景丰富,含多场景白天黑…

Linux之gdb

gdb就是一个Linux的调试工具,类似与vs里面的调试 可执行程序也有格式,不是简单的二进制堆砌