【Linux】权限(shell运行原理、概念,Linux权限)

  🌈个人主页:秦jh__https://blog.csdn.net/qinjh_?spm=1010.2135.3001.5343
🔥 系列专栏:https://blog.csdn.net/qinjh_/category_12625432.html

9efbcbc3d25747719da38c01b3fa9b4f.gif

目录

shell命令以及运行原理 

创建和删除用户

创建新普通用户 

删除用户

Linux权限的概念 

 Linux权限管理

文件访问者的分类(人)

文件类型和访问权限(事物属性) 

文件类型 

 基本权限

 如何理解x?

文件访问权限的相关设置方法 

chmod

chown

chgrp

 umask

目录的权限

粘滞位


前言

    💬 hello! 各位铁子们大家好哇。

             今日更新了Linux的权限的内容
    🎉 欢迎大家关注🔍点赞👍收藏⭐️留言📝

shell命令以及运行原理 

Shell的最简单定义:命令行解释器(command Interpreter)主要包含:

  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者。 

  • 帮助理解:如果说张三是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是张三村头漂亮且心动的MM如花。他看上了如花,但是有不好意思直接表白,就让家人找媒婆帮他提亲,所有的事情他都直接跟媒婆沟通,由媒婆转达他的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash。

 

Shell外壳的存在,可以对请求进行合法性检查,变相的保护OS。 

Shell是外壳程序的总称,bash就是具体的一款外壳程序。 

创建和删除用户

当我们在第一次使用linux时最开始都是只有一个超级用户(root),而普通用户则是用过超级用户进行创建而形成的,所以我们首先来在超级用户下进行创建一个普通用户 

创建新普通用户 

第一步:首先进入linux系统中输入指令 whoami 显示root则表示当前用户为超级用户,接下来我们就可以继续进行创建新的普通用户操作。

第二步:输入 adduser+要创建的用户名,接着我们passwd+用户名设置该用户的密码,密码设置最少7位,不能太简单,不然会报错,这里建议字母+数字,再重复输入新密码(注意这里输入密码不回显)当出现all authentication tokens updated successfully则表示新用户已经创建成功,一般创建的新用户会在home目录下生成一个该用户名命名的文件夹。到这里我们的新普通用户就算是已经创建成功了。

删除用户

userdel -r+用户名 

当我们想要对普通用户进行删除时,首先我们先切换超级用户root,然后我们使用指令 userdel -r+用户名 进行删除普通用户操作。
注意

不要使用userdel+用户指令进行删除,因为这样只会删除该用户,而不会删除home目录下的该用户的文件夹,相当于存在残留,没有删除干净。

当在进行一次userdel+用户操作时则显示不存在该用户,但是查询该home目录时还存在该文件夹,这时我们在adduser+用户名发现弹出警告说home目录中已经存在该文件夹, 

如果不小心userdel +用户名,解决方法是:进行adduser+刚才的用户名,然后userdel -r+用户名 ,这样就能解决了。

Linux权限的概念 

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

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

命令:su [用户名]

功能:切换用户。

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

注意:从root切换到普通用户,不需要输入密码。从普通用户切换到root,需要输入密码。

 Linux权限管理

当我们是普通用户时,创建的文件拥有者就是我们自己。如果想在普通用户身份下,创建拥有者是root的文件,可以使用sudo,进行提权,不过sudo的使用,需要进行配置,后面再说明。 上方不能进行提权是因为没有进行配置。

文件访问者的分类(人)

  • 文件和文件目录的所有者:u---User(中国平民 法律问题)
  • 文件和文件目录的所有者所在的组的用户:g---Group(不多说)
  • 其它用户:o---Others (外国人) 

文件类型和访问权限(事物属性) 

文件类型 

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如屏幕等串口设备)

s:套接口文件 

window中,如果把一个文件后缀名改了,可能就打不开文件了。但是linux不一样,即使修改了后缀,也能打开它 。

 基本权限

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

iv.“—”表示不具有该项权限

 如何理解x?

 能执行=具有可执行权限+你就是一个可执行文件。

上图中,test.c具有可执行权限,但不是一个可执行文件,所以无法执行。

如果某文件是可执行文件,但它没有可执行权限,同样无法执行。        

文件访问权限的相关设置方法 

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项: 

  • R -> 递归修改目录文件的权限
  • 说明:只有文件的拥有者和root才可以改变文件的权限

chmod命令权限值的格式

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限
  • 用户符号: 
  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户 

 上方是用chmod修改权限的例子。 这是第一种方式。

除了上方用o、g、u修改权限,还可以用八进制进行修改,如下:(第二种方式)

 

 如果拥有者没有权限,也无法进行操作。但是root不一样,没有权限,也能照样操作文件。

上图中,我既是拥有者,也是所属组,但是我依然无法进行操作。那是因为对用户身份的识别只进行一次,此时我被识别为拥有者,就只有拥有者的权限,而没有所属组的权限。

chown

功能:修改文件的拥有者

格式:chown [参数] 用户名 文件名 

我们想把拥有者修改为xjh,但是无法执行,因为chown的操作者必须是root。或者我们可以进行sudo进行提权,由于上方没有配置,所以无法进行提权。  

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项:-R 递归修改文件或目录的所属组 

chgrp的使用和chown一样。 

如果我们想一次性修改拥有者和所属组,只需在中间加上冒号即可。如上图。 

 umask

功能:

查看或修改文件掩码

新建文件夹默认权限=0666

新建目录默认权限=0777

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & (~umask)

格式:umask 权限值

说明:将现有的存取权限减去权限掩码后,即可产生建立文件时预设权限。超级用户默认掩码值为0022,普通用 户默认为0002。 

   

我们可以查看掩码,或者主动修改掩码 

起始权限是0666,对应的权限应该是rw-rw-rw-。可上面的文件却不是 ,这就跟权限掩码有关了。

 我们对掩码取反,再与默认权限进行按位与操作。最后结果就是rw-rw-r--了。

目录的权限

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限.那么,如何创建一个可以多人共享的目录呢?

首先可以确定的是,这个目录肯定不能在家目录里面。只能在根目录,此时只有root才能创建。

因为这是一个要共享的文件,我们还得把other的w权限打开。 这样其他用户就可以在里面创建文件了。

假设text.txt是张三创建的共享文件,李四与他进行共享,因为李四也需要写入,就打开了other的w权限。突然冒出了王五,他却把这个共享文件删了(因为王五也是other,share目录把other的w权限放开了)。那要怎样才能让这个共享文件可读可写,但不能别人删呢?这时就需要用到粘滞位。

粘滞位

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除 

 粘滞位是针对目录的,针对other的。粘滞位就是加强版的x。

设置了粘滞位后,王五就不能删除这个目录里的文件了,便实现了共享。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【bug】使用mmsegmentaion遇到的问题

利用mmsegmentaion跑自定义数据集时的bug处理(使用bisenetV2) 1. ValueError: val_dataloader, val_cfg, and val_evaluator should be either all None or not None, but got val_dataloader{batch_size: 1, num_workers: 4}, val_cfg{type: ValLoop}, …

Elasticsearch单机部署(Linux)

1. 准备环境 本文中Elasticsearch版本为7.12.0,JDK版本为1.8.0,Linux环境部署。 扩展: (1)查看Elasticsearch对应的常用的jdk版本如下:(详情可看官网的支持一览表) Elasticsearch a…

CTF网络安全大赛详情

网络安全已成为现代社会的一个关键挑战,随着互联网技术的飞速发展,从个人隐私保护到国家安全,网络安全的重要性日益突显。为了应对这一挑战,CTF(Capture The Flag,中文:夺旗赛)应运而…

03-JAVA设计模式-命令模式

命令模式 什么是命令模式 命令模式(Command Pattern)是一种行为设计模式,它将请求封装为对象,从而使你可用不同的请求把客户端与请求的处理者解耦,也称动作模式或事物模式。 在命令模式中,命令对象封装了接收者对象…

Hive架构原理

Hive Hive 的架构是设计用于在大数据环境下进行数据仓库操作和分析的系统。它建立在 Hadoop 生态系统之上,利用 Hadoop 的存储(HDFS)和计算(MapReduce、Tez、Spark 等)能力。 1. 元数据存储(Metastore&am…

计算机网络-IS-IS链路状态数据库同步

在建立IS-IS邻接关系之后,路由器开始发送LSP报文进行链路状态数据库进行同步。 一、链路状态数据库同步 LSP( Link State PDU,链路状态报文) 用于交换链路状态信息。LSP分为两种:Level–1 LSP和Level–2 LSP。Level–1…

前端入门:HTML(列表和边框案例)

1.列表知识&#xff1a; list-style-position有两个值&#xff0c;分别是inside&#xff0c;outside&#xff0c;分别表示在标签里面和在标签外面。 2.案例&#xff1a; 源代码&#xff1a; html: <body> <div class"bigBox"> <div>在线解答问题…

基于Springboot+Mybatis-Plus+mysql+html旅游网站

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…

【Spring进阶系列丨最终篇】一文详解Spring中的事务控制

0、说明 本篇文章是【Spring进阶系列】专栏的最后一篇文章&#xff0c;至此&#xff0c;我们对Spring的学习就告一段落&#xff0c;接下来我会持续更新【SpringSpringMVCMyBatis整合】专栏&#xff0c;欢迎免费订阅&#xff01; 文章目录 0、说明 一、Spring事务控制1、事务的环…

PDPS16.0单机版及许可证服务器授权安装教程分享

此前小编做过PDPS15(Tecnomatix_15.0)安装包及安装教程分享&#xff0c;此次分享是PDPS16(Tecnomatix_16.0)单机版安装结合SPLMLicenseServer许可证服务器授权安装的教程。服务器型是完整的pdps&#xff0c;单机版只装了个ps&#xff0c;ps的功能一样&#xff0c;仿真需求没要求…

iPerf 3 测试UDP和TCP方法详解

文章目录 前言一、What is iPerf / iPerf3 ?二、功能1. TCP and SCTP2. UDP3. 其他 三、 Iperf的使用1.Iperf的工作模式2. 通用指令3. 服务端特有选项4. 客户端特有选项5. -t -n参数联系 四、Iperf使用实例1. 调整 TCP 连接1. 1TCP 窗口大小调节1. 2 最大传输单元 (MTU)调整 2…

华为P系列“砍了”,三角美学系列全新登场

2021 年 10 月&#xff0c;Intel 正式带来了颠覆以往的第 12 代酷睿「混合架构」 CPU。 不知道是良心发现还是为了弥补 11 代酷睿过于拉胯表现&#xff0c;Intel 终于把狠活儿都用在了这代。 全新 Intel 7 工艺、全新架构、单核与多核性能大幅提升&#xff0c;让大家十分默契…

数字化革新:可视化墨水屏引领基板工艺MSAP贴膜阶段迈向无纸化高端制造应用背景

随着科技的飞速发展和环境保护意识的日益增强&#xff0c;制造印刷电路板&#xff08;PCB&#xff09;行业正面临着提升生产效率、降低资源消耗和推动绿色制造的迫切需求。 问题&#xff1a; PCB生产过程对洁净度要求高&#xff0c;传统打印的纸张会有粉尘&#xff0c;纸屑&am…

怎么通过Javascript脚本实现远程控制一路开关

怎么通过Javascript脚本实现远程控制一路开关呢&#xff1f; 本文描述了使用Javascript脚本调用HTTP接口&#xff0c;实现控制一路开关。一路开关可控制一路照明、排风扇等电器。 可选用产品&#xff1a;可根据实际场景需求&#xff0c;选择对应的规格 序号设备名称1智能WiFi…

腾讯云轻量应用服务器和CVM S5服务器有什么区别?

腾讯云轻量应用服务器和CVM云服务器S5有什么不同&#xff1f;性能哪个更好一些&#xff1f;CVM S5云服务器CPU采用2.5GHz主频的Intel Xeon Cascade Lake或者Intel Xeon Cooper Lake处理器&#xff0c;轻量不支持指定CPU&#xff0c;从功能、内网连通性、集群及公网带宽等方面对…

React 19 带来了 JSX 运行时的重要更新

在 React 的发展历程中&#xff0c;JSX 运行时一直扮演着重要的角色。在以前的的版本&#xff0c;JSX 运行时会克隆传入的 props 对象&#xff0c;这背后有着两大原因。 历史原因 React 保留了一些特殊的 prop 名称&#xff0c;如 key 和在 React 19 之前的 ref。这些 prop 并…

公钥密码学Public-Key Cryptography

公钥或非对称密码学的发展是整个密码学历史上最伟大的&#xff0c;也许是唯一真正的革命。The development of public-key, or asymmetric, cryptography is the greatest and perhaps the only true revolution in the entire history of cryptography. 公钥算法基于数学函数…

14.接口自动化测试-造数据

1.测试造数据 工作场景&#xff1a; 需要造一批测试数据 解决方案&#xff1a; &#xff08;1&#xff09;使用字符串拼接 135XXXXX &#xff08;2&#xff09;使用第三方库去做 faker 安装&#xff1a; pip install Faker 若安装不成功&#xff0c;可能是需要清下缓存&a…

使用Azure AI Search和LlamaIndex构建高级RAG应用

RAG 是一种将公司信息合并到基于大型语言模型 &#xff08;LLM&#xff09; 的应用程序中的常用方法。借助 RAG&#xff0c;AI 应用程序可以近乎实时地访问最新信息&#xff0c;团队可以保持对其数据的控制。 在 RAG 中&#xff0c;您可以评估和修改各个阶段以改进结果&#x…

ExcelVBA把当前工作表导出为PDF文档

我们先问问Kimi Excel导出为PDF的方法有多种&#xff0c;以下是一些常见的方法&#xff1a; 1 使用Excel软件的内置功能&#xff1a; 打开Excel文件&#xff0c;点击“文件”菜单。选择“另存为”&#xff0c;在“保存类型”中选择“PDF”。设置保存路径和文件名&#xff0c;点…