shell的介绍以及Linux权限的讲解

1 shell命令以及运行原理

1.1 shell命令行的概念

大家在以前的学习中可能会有一个固态的印象:
一台计算机的大概分层为下图
也就是说人可以直接调用计算机的操作系统,但真的是这样吗?
答案是否定的!
在这里插入图片描述
其实操作系统还有一个“外壳”:
Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通

在这里插入图片描述
我们举一个例子:
其实用户就是一个大龄未婚的小伙子,他现在看上了一个如花似玉的姑娘(也就是操作系统),想找他做老婆(用户的需求),但是不好意思去找姑娘,于是就到村里找了个王阿姨(shell)去说媒,这就很好理解了吧

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)主要包含:
1 将使用者的命令翻译给核心(kernel)处理
2 同时,将核心的处理结果翻译给使用者

window系统中的图形界面就是一个shell程序,我们点击图标从而完成相应的需求,但是Linux中,shell主要是对指令进行解析,然后交给kernal,反馈的结果通过kernal运行出结果,通过shell解析给用户

1.2 shell外壳程序的意义

那么问题来了,为什么不直接让用户使用我们的操作系统呢?这样不是更方便吗?

这是因为如果让用户直接访问操作系统,它的成本是很高的,并且犯错率也很高,容易出现很多差错,还不如让shell在中间进行传递,降低成本的同时提高系统的准确率

1 是用户和操作系统交互中间的软件层
2 一定程度上可以保护操作系统

2 Linux权限

2.1 Linux权限的概念

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

这也从侧面反映了Linux操作系统是多用户操作系统,windows也是

从名字上就能看出来哪个用户的权限大,root在Linux系统中只能用无所不能来形容,就这么说吧,root就像是一个古代的皇帝,其他普通用户就是各个地方的亲王,每年都要上贡,但是在自己管辖的区域有一定的权力

我们可以用指令su来切换用户
但是需要密码

su 【用户名】

例如:
在这里插入图片描述
指令exit可以用来切换到上一次所使用的用户:
在这里插入图片描述

2.2 Linux权限管理

2.2.1 文件访问者的分类(人)

文件的访问者一共可以分为三种:

文件和文件目录的拥有者:u---User
文件和文件目录的所有者所在的组的用户(所属组):g---Group
其它用户:o---Others 

例如:
下图中的文件的拥有者和所属组都是root
而其他用户就是说操作系统内其他的普通用户
在这里插入图片描述

2.2.2 文件权限值的表示方法

r代表可读,w代表可写,x代表可执行

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

文件的权限是用来限制访问的,权限值可以分为两种方法:
字符表示法:
在这里插入图片描述
八进制表示法:
在这里插入图片描述

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

其实每个文件访问者对于各个文件其实都有一定的访问权限
在这里插入图片描述
我们先来了解一下文件类型

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

为了大家更好地理解上图,请看具体的例子:
在这里插入图片描述
在这里插入图片描述

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

chmod
功能: 设置文件的访问权限
格式: chmod [用户] +/- 权限 文件名

这里大家要注意一个点:
只有文件的拥有者和root才可以改变文件的权限!

各个字符表示的意思如下:

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

例如:
下图中的文件:
在这里插入图片描述
我需要给mytest2改权限:

chmod u+x mytest2  给拥有者加上可执行权限
chmod g+x mytest2 给mytest2文件所属组用户加上可执行权限
chmod o+x mytest2 给其他用户加上可执行权限
chmod a+x mytest2 给所有用户加上可执行权限

在这里插入图片描述
此外还有一种八进制的方式:
例如:

chmod 664 mytest2  
chmod 640 mytest2

chown
功能: 修改文件的拥有者
格式: chown [参数] 用户名 文件名

例如:

chown root mytest2   将mytest2的拥有者改为root

可以看到,改变拥有者后jh变成了 root
在这里插入图片描述
chgrp
功能: 修改文件或目录的所属组
格式: chgrp [参数] 用户组名 文件名

例如:

chgrp root mytest2  将mytest2的所属组改为root

在这里插入图片描述
但是大家有没有发现:
chown和chgrp我在这两个指令之前加入了一个sudo,这是为什么呢?
实际上也可以切换为root来执行这个指令,但是为了方便,我将jh这个普通用户放入了我的信任列表里,至于怎么放,稍后解答!

umask

功能:
查看或修改文件掩码
新建文件默认权限=0666
新建目录默认权限=0777

前面的0不用管,默认第一位都是0,文件夹666就是都没有执行权限,目录777就是三个所有权限都有,我们来验证一下啊:
我们新建了一个文件夹3_20,一个文件3_20_test,这么他们的访问权限和我们默认生成制定的规则不一样呢?

在这里插入图片描述
**原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: **

mask & ~umask

umask我们可以叫它权限掩码

那么我们可以查看我们当前系统的umask,也可以设置:

umask  查看系统的权限掩码值

在这里插入图片描述

umask 0003  修改权限掩码值

在这里插入图片描述

2.3 file指令

功能说明: 辨识文件类型。
语法: file [选项] 文件或目录…

常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容。

例如:

file 3_20  

在这里插入图片描述

使用 sudo分配权限
想使用sudo指令,我们首先要将当前的用户加入信任列表:
我们需要用vim指令打开一个文件进行修改:

vim /etc/sudoers

至于如何修改,我们下篇博文在做讲解,因为本篇博文还有未涉及到的知识

然后我们就可以调用sudo分配权限了

2.4 目录的权限

在目录中各种权限的解释如下:
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

那么我们就有一个问题出现了:
我们有一个需要注意的点:
一个文件是否能被删除取决于这个文件所在的目录

那么也就是说,只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限,但是这明显有问题啊
我创建的文件,这么情敌还能删除掉我的文件呢?

为了解决这个问题:
就引出了粘滞位!

2.5 粘滞位

当一个目录被设置为**“粘滞位”(用chmod +t)**,则该目录下的文件只能由:
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

例如:

chmod o+t yw_test  

可以看到other用户的可执行权限变成了t,不能删除它

在这里插入图片描述
此外,粘滞位大家要注意啊:
1 粘滞位只能给目录设置,文件不能
2 粘滞位设置后一般不能被取消

2.6 权限的总结

1 目录的可执行权限是表示你可否在目录下执行命令
2 如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录有-r 读权限(这
个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
3 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读
权限
,所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

好了,今天的分享到这里就结束了,感谢大家的支持!

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

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

相关文章

31.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-其它消息的实现与使用优化

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 如果看不懂、不知道现在做的什么,那就跟着做完看效果 内容参考于:易道云信息技术研究院VIP课 上一个内容:30.数据搜索功能…

如果QQ当年有AI,当年的经典头像会是什么样子?-WEBUI有趣案例分享

👔背景介绍 IP_Adapter是个很有趣的模型,可以实现一定程度上的角色一致性,忽然有个想法,用IP_Adapter还原一下QQ当年的经典头像会是什么样子呢? 不过,大家还记得这些古早时期的头像吗?或者&…

优雅的 Markdown

Markdown浅尝 一、勾选框 注意[]前后都要有空格 - [x] 干的漂亮 - [x] 吃饭 - [x] 写代码 - [ ] 睡觉 干的漂亮 吃饭 写代码 睡觉 二、列表 #无序列列表 * 换成 - 也行 * 你 * 你好 * 你好呀 - 你很好啊 你你好你好呀你很好啊 #有序列表 . 后面有个空格 1. 我 2. 是我 3.…

Day73:WEB攻防-支付逻辑篇篡改属性值并发签约越权盗用算法溢出替换对冲

目录 SRC-支付逻辑测试 购买支付-修改数量&篡改价格&订单对冲 修改数量 篡改价格 产品替换对冲 订单替换对冲 购买支付-优惠券复用盗用&积分对冲溢出 优惠卷复用 优惠卷盗用 积分对冲溢出 SRC实战案例分享 越权让他人支付 四舍五入半价购 并发提前全…

python字典:打印字典中的键、值、打印所有字典、python遍历字典

1.定义 字典以花括号({})括起来,里面的元素是成对出现的,不同对元素用逗号(,)分开;一对元素用 冒号(:)分割。 2.解读 字典里的每一对元素准确的来说是键值对&…

javaSwing连连看

一、简介 基于java的连连看游戏设计和实现,基本功能包括:消除模块,重新开始模块,刷新模块,选择难度模块,计时模块。本系统结构如下: (1)消除模块: 完成连连…

python socket 实时通信,多对多,一对一,转发

研究一下python socket 实时通信,多对多,一对一,转发 C>S 单独通信 server1 import socket import threading# 在线客户端列表 online_clients {}def broadcast(message, sender):"""向所有在线客户端广播消息,除了发送…

面试算法-58-求根节点到叶节点数字之和

题目 给你一个二叉树的根节点 root ,树中每个节点都存放有一个 0 到 9 之间的数字。 每条从根节点到叶节点的路径都代表一个数字: 例如,从根节点到叶节点的路径 1 -> 2 -> 3 表示数字 123 。 计算从根节点到叶节点生成的 所有数字之和…

2024年腾讯云优惠券全解析、云服务器代金券领取、查询和使用方法

腾讯云代金券领取渠道有哪些?腾讯云官网可以领取、官方媒体账号可以领取代金券、完成任务可以领取代金券,大家也可以在腾讯云百科蹲守代金券,因为腾讯云代金券领取渠道比较分散,腾讯云百科txybk.com专注汇总优惠代金券领取页面&am…

Dockerfile Docker Compose(实战总结)

Dockerfile & Docker Compose(实战总结) Dockerfile Dockerfile 是用来构建Docker镜像文件,是由一条条构建镜像所需的指令构成的脚步。 步骤: 编写Dockerfile 文件docker build 构建镜像docker run 运行镜像docker push 发…

python coding with ChatGPT 打卡第23天| 回溯算法:理论基础

文章目录 视频讲解回溯法的效率解决的问题如何理解回溯法回溯框架 视频讲解 回溯算法理论篇 回溯是递归的副产品,只要有递归就会有回溯。 回溯法的效率 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法…

区域规划(Regional Planning)的学习笔记

目录 一、概念题 1.区域的概念、类型、特性 2.区域分析的概念、主要内容 3.自然环境、自然资源的概念 4.区域自然资源评价的内容 5.可持续发展理论定义 6.经济增长、经济结构定义 7.产业结构概念 8.人口增长分析的含义、指标 9.技术进步概念、类型 10.技术进步对区域…

【C++ leetcode】双指针问题(续)

3. 202 .快乐数 题目 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果这个过程 结…

ArcGIS Pro、R和INVEST:三位一体的生态系统服务评估框架

生态系统服务是指生态系统所形成的用于维持人类赖以生存和发展的自然环境条件与效用,是人类直接或间接从生态系统中得到的各种惠益。联合国千年生态系统评估(Millennium ecosystem assessment,MA)提出生态系统服务包括供给、调节、…

智慧水务:雨季山区水域水务智能化监控与监测管理方案

一、方案背景 雨季的水务管理对于各区县来说,无疑是一项至关重要的任务。夏季雨水充沛,江河湖泊水位上涨,山洪、上游排水等情况时有发生,给各地的水务设施和防汛工作带来了严峻的挑战。针对区县的各类水域监管场景,需…

免费的chatgpt网站(包含最新版4.0)

相信每个人在生活工作学习中都逃不过用chatgpt来解决一些问题,下面我长话短说,为大家简单介绍几款免费且好用的chatgpt网站 1、YesChat 网址:YesChat-ChatGPT4V Dalle3 Claude 3 All in One Free 第一个就给大家介绍一个狠角色,最…

C 语言中位取反操作符 ~ 和逻辑取反操作符 !

在 C 语言中,有两种取反操作符,分别是位取反操作符 ~ 和逻辑取反操作符 !。 位取反操作符 ~: 位取反操作符 ~ 是一个一元操作符,用于执行按位取反操作。它会将操作数的每个位取反,即将 0 变为 1,将 1 变为 …

算法打卡day21|回溯法篇01|理论知识,Leetcode 77.组合

回溯法理论知识 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。所以回溯函数也就是递归函数,指的都是一个函数。 回溯法的效率 回溯法并不是什么高效的算法。因为回溯的本质是穷举,…

win提权第二弹服务提权

阅读须知: 探索者安全团队技术文章仅供参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作,由于传播、利用本公众号所提供的技术和信息而造成的任何直接或者间接的后果及损失,均由使用者 本人负责,作者不为此承担任何责任,如…

使用STM32 再实现电动车防盗

项目需求 点击遥控器 A 按键,系统进入警戒模式,一旦检测到震动(小偷偷车),则喇叭发出声响报警, 吓退小偷。 点击遥控器 B 按键,系统退出警戒模式,再怎么摇晃系统都不会报警&…