【Linux】shell运行原理及权限

news2024/11/19 6:44:04

 =========================================================================

主页点击直达:个人主页

我的小仓库:代码仓库

C语言偷着笑:C语言专栏

数据结构挨打小记:初阶数据结构专栏

Linux被操作记:Linux专栏

LeetCode刷题掉发记:LeetCode刷题

算法:算法专栏

C++头疼记:C++专栏

计算机网络基础:网络专栏

=========================================================================

目录

前言

shell命令以及运行原理

Linux权限的概念

Linux权限管理

文件访问者的分类(人)

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

文件权限值的表示方法

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


前言

前几期文章重点讲解了Linux的一些基本指令,让大家能够快速的上手使用Linux,也不知道大家运用的熟练不,今天我们深入学习下Linux的shell命令以及运行原理和Linux下的权限方面的一些知识。


shell命令以及运行原理

Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通。如何理解?为什么不能直接使用kernel?

从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)

主要包含:

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

对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)。
shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。

帮助理解:

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

shell的本质也是一个可执行程序(进程),系统启动期间,一直在运行。对于用户输入的有风险指令shell通过创建子进程去执行这个有风险的指令。


Linux权限的概念

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

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

超级用户:

普通用户:

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

普通用户切换root用户

su - root 指令是重新登录到root账户 

su root 指令是切换身份

指令exit是退回到原来的账号

root账户切换普通用户 

root账户切换到普通用户是不需要密码的。


Linux权限管理

root用户之下无权限

文件访问者的分类(人)

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

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

 文件类型

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

基本权限

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

文件权限值的表示方法

字符表示方法

 8进制数值表示方法

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

chmod指令

功能:设置文件的访问权限
格式:chmod [参数] 权限 文件名

常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号: 
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

 

如图有一个文件file.txt的所属者和所属组都为wyj但是对于这个文件没有任何权限,不能读也不能写。

 

如图我们使用chmod指令对所属者加上读和写权限,就可以正常读写了。

 

如图我们使用chmod指令对所属者、所属组、其他人都加上读、写执行权限。

 

如图我们使用二进制对所属者、所属组、其他人都去除读、写、执行的权限。

 

如图我们切换root用户,尽管file.txt这个文件对所属者、所属组、其他人都没有读、写、执行权限,root账户依然可以进行读、写、执行。因为root之下无权限。

我们会发现这样一个问题,这个文件的所属者、所属组都是wyj,也有这个文件的读、写、执行的权限,那为什么不可以呢?

欲知后事如何,且听下回分解!!!

今天的分享到这就结束了,希望大家读完文章有很大的收获,也希望大家留言指出我文章中出现的内容,同时也感谢各位看官的三连支持,你们的支持就是我更新的动力!!!

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

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

相关文章

【密码学】第二章 密码学的基本概念

1、密码学定义 密码编制学和密码分析学共同组成密码学 密码编制学:研究密码编制密码分析学:研究密码破译 2、密码体制的五个组成部分 明文空间M,全体明文的集合密文空间C,全体密文的集合密钥空间K,全体密钥的集合。…

Unity之ShaderGraph如何实现上下溶解

前言 我们经常在电影中见到的一个物体或者人物,从头上到脚下,慢慢消失的效果,我么今天就来体验一下这个上下溶解。 主要节点 Position节点:提供对网格顶点或片段的Position 的访问 Step节点:如果输入In的值大于或等…

openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接

文章目录 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接101.1 背景信息101.2 前提条件101.3 操作步骤 openGauss学习笔记-101 openGauss 数据库管理-管理数据库安全-客户端接入之用SSH隧道进行安全的TCP/IP连接 101.…

【C++】手撕STL系列——stack,queue篇

前言 前面实现了string和vector,理所应当就该轮到stack和queue啦,本篇还会涉及到一个比较重要且听起来很厉害的概念——适配器模式 适配器模式 在之前数据结构初阶的学习过程中,我们学习的栈是由数组加上一些限制组成的容器,底…

SpringBoot面试题6:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别?

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:Spring Boot 2.X 有什么新特性?与 1.X 有什么区别? Spring Boot是一种用于简化Spring应用程序开发的框架,它提供了自动配置、起步依赖和快速开…

7.继承与多态 对象村的优质生活

7.1 民法亲属篇:继承(inheritance) 了解继承 在设计继承时,你会把共同的程序代码放在某个类中,然后告诉其他的类说此类是它们的父类。当某个类继承另一个类的时候,也就是子类继承自父类。以Java的方式说&…

微信小程序框架---视图层逻辑层API事件

目录 前言 一、小程序框架介绍 1.响应的数据绑定 2.页面管理 3.基础组件 4.丰富的 API 二、视图层 View 1.WXML 数据绑定 列表渲染 条件渲染 模板 2.WXSS 尺寸单位 样式导入 内联样式 选择器 全局样式与局部样式 3.WXS 示例 注意事项 页面渲染 数据处理 …

VMtools安装Euler系统

前言 本文章针对刚安装好系统,未进行任何配置的,建议安装好系统先安装vmtools不然很多功能不能使用,也不能传文件 开机先等待开机自检 在下面这个地方输入用户名和密码(在安装过程中设置的) 成功登录 点击安装vm…

Go实现CORS(跨域)

引言 很多时候,需要允许Web应用程序在不同域之间(跨域)实现共享资源。本文将简介跨域、CORS的概念,以及如何在Golang中如何实现CORS。 什么是跨域 如果两个 URL 的协议、端口(如果有指定的话)和主机都相…

Maven打包添加本地工程jar包

前言 先吐槽几句,公司有一小组专门来做各个项目的测试环境以及打包上线的工作,我们称之为XX,这个XX并不是什么业务领导,也只是一个螺丝钉。这群人每天对上跪舔,对其他人爱搭不理,给人一种高高在上的感觉,之前的一个老…

二十七、【四种蒙版】

文章目录 图层蒙版剪贴蒙版快速蒙版矢量蒙版 图层蒙版 在当前图层加上蒙版,黑色画笔的可以让当前图层消失,白色的画笔可以让当前图层出现: 无论填充什么样的颜色,蒙板只有黑白灰三种颜色。模板最简单应用就是我们在插入图形的时候…

Ubuntu22.04安装及初始配置

前言 centos即将退出历史舞台,一代经典Centos7虽然经典,但后继无人。与此同时,ubuntu社区,无论是在桌面端、服务端还是容器生态等都是蓬勃发展。所以,我们正式的运行环境会以Ubuntu20.04为主。本文章定位为操作系统的…

【C++入门系列】——缺省参数,函数重载,引用和内联函数

​作者主页 📚lovewold少个r博客主页 ⚠️本文重点:c 缺省参数 引用与指针 😄每日一言:青春就像一只容器,装满了不安躁动青涩与偶尔的疯狂。 目录 缺省参数 缺省函数的定义 缺省参数分类 函数重载 为什么C语言不支…

单片机判断语句与位运算的坑

一.问题描述 在我判断Oled的某点的值是否为1时,用到了如下判断语句 if(oled[x][y/8] &1<<(y%8)但是,当我将其改为如下的判断语句,代码却跑出BUG了 if((oled[x][y/8]&1<<(y%8))1)二.原因分析 1.if语句理解错误 首选让我们看看下面的代码运行结果 #inc…

Day1力扣打卡

打卡记录 最长相邻不相等子序列 I&#xff08;脑筋急转弯&#xff09; 链接 思路&#xff1a;形如 11100110001 要达到最大&#xff0c;必须在重复数字选出一个&#xff0c;即在111中取一个1&#xff0c;在00中取一个0&#xff0c;以此类推最终便得到最长相邻不相等子序列。 c…

uCOSIII实时操作系统 七 中断与时钟管理

目录 中断管理&#xff1a; 中断处理过程&#xff1a; 临界区保护&#xff1a; 时间管理 OSTimeTick()函数 OSTimeDly()函数 OSTimeDlyHMSM()函数&#xff08;常用的&#xff09; OSTimeDlyResume()函数 中断管理&#xff1a; 中断处理过程&#xff1a; 中断是一个硬件…

Bugku sql注入 基于布尔的SQL盲注 经典题where information过滤

目录 绕过空格 /**/绕过 ()绕过 回车绕过 &#xff08;键按钮&#xff09;绕过 等号绕过 绕过&#xff0c;&#xff08;逗号&#xff09;使用substr 下面存在基本绕过方式 注释符绕过 /**/绕过 #绕过 /*注释内容*/绕过 //注释绕过 大小写绕过 绕过information过…

Spring中注入的使用

目录 一、什么是注入&#xff08;Injection&#xff09; 1.1 为什么要注入 二、注入的基本使用 三、Spring注入原理分析 一、什么是注入&#xff08;Injection&#xff09; 注入就是通过Spring的配置文件&#xff0c;为所创建对象的成员变量进行赋值 1.1 为什么要注入 书接上…

寻找替代Redmine项目管理工具的常见方案

RedMine是一个非常受欢迎的项目管理工具&#xff0c;但它并不是万能的。随着时间的推移&#xff0c;许多功能和特性可能会发生变化或被取消。因此&#xff0c;有许多其他工具可以成为RedMine的替代品。 以下是六种可能的选择&#xff1a; 1、Zoho Projects&#xff1a; Zoho P…

“高级小程序开发指南“

目录 引言小程序视图层小程序逻辑层及生命周期总结 引言 随着移动互联网的快速发展&#xff0c;小程序作为一种轻量级的应用形态&#xff0c;在用户使用体验和开发者便捷性方面受到了广泛关注。本篇博客将带你深入探索小程序的视图层和逻辑层&#xff0c;并介绍其生命周期。 …