【Linux】Linux权限,shell命令以及运行原理

news2024/11/26 12:22:48

之前我们一直敲得命令和口口声声说的shell到底是什么呢?命令行提示符和输入的指令并且可以执行都是通过命令行解释器来实现的,那么命令行解释器就是我们常说的shell,具体我们看下面!

目录

一、shell命令以及运行原理

二、Linux权限

1.什么是权限

2.怎么阅读权限

 3.怎么操作权限

4.为什么有权限

umask权限掩码      

粘滞位

总结: 


一、shell命令以及运行原理

我们用一个简单的例子来理解这个抽象的概念:

对shell的第一次感性认识:

在你很小的时候,对于外界的事物都充满好奇心,是妈妈一点一点来教你并且告诉你,让你从无知到了解。

1.因为我们不擅长与外界交流,所以当你需要和外界信息交互时,妈妈起到了桥梁的作用,解决了你和外界沟通的成本。

2.当外界有不良的、错误的信息或者行为靠近你时,妈妈会直接阻拦,不会向你传递,保护你的安全。

3.妈妈作为你和外界信息交互的唯一途径,当恶意行为来到时,妈妈不会自己上,而是叫你爸或者其他亲戚上,这就保护了妈妈的安全。

                                                                                                以上均为虚构,请勿上纲上线

那么linux内核就是孩子,shell外壳程序就是妈妈,而用户就是外界!

1. 那么回到正题:

shell作用一:设立了解决了用户和操作系统沟通的成本。

shell作用二:shell存在的意义,变相的保护了操作系统。

shell作用三:shell外壳是用户和linux操作系统交互的唯一途径,若因为用户的指令导致shell外壳挂掉,那么linux操作系统就不能被用户所使用。

所以shell会创建子进程,让它去执行用户的指令,而shell本身并不执行,所以创建的子进程失败也没事。

那你可能疑惑,这里为什么是linux内核呢?

其实我们谈到linux操作系统,宏观是linux内核+shell外壳,微观是linux内核。

怎么理解呢?类比windows:shell外壳和windows的图形化界面就是兄弟关系。win的图形化界面其实本质就是一种shell外壳程序。我们使用的centos 7 Linux操作系统的shell外壳是bash,bash和shell的关系就像:shell是妈妈,而bash是你妈(不好意思)。所以linux有这么多版本就是因为shell外壳程序有所不同,但也相差不大。


二、Linux权限

在了解权限之前,我们需要了解Linux是多用户操作系统,所以有很多用户,那么他们之间切换是如何进行的呢?

现在的用户是普通用户(Mjcode)

1.如果我们需要切换到root用户,且不想改变当前路径,就需要su

 (切换root需要输入root的密码)

 (路径没有改变,依旧是Mjcode的家目录)

2.切换root用户,改变路径:su -

3.root用户切换普通用户:su 普通用户 

 (不需要输密码,直接切换)

所以root是超级管理员,普通用户是受权限约束的用户。

如果执行指定时,用root的身份去执行(对指令进行提权):

sudo 指令  (不需要切换用户)

1.什么是权限

通俗来说,权限是来限制身份的,而不是人。人有很多种身份,当你是学生时,你就有在学校的一些权限,你可以随便进入学校,去上课,去你的床位睡觉,并不是因为你是某某,而是因为你的身份。

那么,文件权限=(人)角色+文件属性

角色有拥有者(user),所属组(grouper),其他(other)

文件属性:r(读),w(写),x(可执行)

当然可执行是针对一些可执行文件,那么linux是怎么来区分文件类型呢?

linux文件类型与文件后缀名是没有关系的,因为系统识别文件类型不会根据后缀名来识别。

但是,我们自己仍然可以使用文件后缀来区分(给自己看的,好区分)。我们只说的是linux操作系统不拿后缀名区分,其实有些工具是用后缀名来区分文件类型的。

linux的文件类型:

 

d:目录文件 

那后面的9个字符是什么意思呢?我们往下看


2.怎么阅读权限

我们知道文件权限=角色(拥有者,所属组,其他)+文件属性(r,w,x)

所以:9个字符分为三组,解释就是这个文件的拥有者具有读写可执行权限,所属组有读,可执行权限,其他人有读和可执行权限。

写了这两个,剩下的就是其他。


 3.怎么操作权限

权限=角色+属性,那无非就是操作这两个元素:

角色:u(拥有者),g(所属组),o(其他人)。文件是具体用户创建,就会赋予人身份,root创建的文件,那么拥有者就是root,但都是可以修改的。

那么增减一个人的一个权限:chmod  角色+权限  文件名(目录名)

 多个人的权限统一修改:chomd  a+/- 权限  文件或者目录名

对角色进行操作:

修改拥有者和所属组对应的人:

如果你修改用户,必须征得对方的同意,但root不受权限限制,可以直接修改,所以一般修改用户都要提权命令。

拥有者:sudo chown XXX  目录/文件名 

所属组:sudo chgrp XXX   目录/文件名 

一起修改:sudo chown XXX:XXX  目录/文件名 

操作权限还可以用8进制来修改:


4.为什么有权限

当然是因为多用户操作系统,便于系统进行安全管理。

那为什么刚被创建出来的文件权限是我们看到的样子?

              这就提到了umask权限掩码       

umask权限掩码      

linux规定,目录的起始权限是 777;普通文件的起始权限是 666;

但是系统规定:系统会默认配置好umask权限掩码,凡是在umask中出现的权限,都必须在起始权限中去掉。怎么个事儿?来看:

                          去掉的规则是:最终权限=起始权限&(~umask)

umask: 000 000 010 (1代表有这个权限)

~umask: 111 111 101( 0代表没有这个权限)

与起始权限相与,就会把umask中有的权限去掉。                    

如果我们要进入一个目录,需要什么权限呢?

对!只需要x权限。 r是读取目录的列表;w是在目录中操作;x对于目录就是可进入

所有的目录被创建出来都会有x权限(可进入)


粘滞位

在linux系统中,会由root创建一个公共目录去存放各自的临时文件(tmp)。

但在这个目录中的文件是可以被随便删除的(因为文件是否可以被删除是由他在的这个目录的权限决定的),所以为了防止互相删除,就出现了粘滞位。

粘滞位:chmod +t 目录名  就会变为 rwt  (操作仅针对目录)


总结:

shell的运行原理和权限想必大家都已经了解了吧!可以课后操作命令去练习,加深印象,我们下期再见!

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

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

相关文章

百亿量化私募高薪急招C++

百亿量化私募高薪急招C! 秋招/校招/社招,21/22/23届可 base北上杭深 现招岗位:C量化系统开发工程师 年base40-80万bonus 通过这里找到我 slam_pan 工作职责 1. 参与交易平台的设计、开发与测试,实现交易策略、风控等需求; 2. 开发…

【DahO安装及使用】

1 安装 Step 1:官网注册帐号 注册地址在这里(注册完毕默认登录) Step 2:点击下载链接,下载你需要的版本 这里,我下载的是DashO的Windows版本。 下载完毕后官方会向您发送邮件,复制其中的&qu…

WMS和ERP的区别是什么

WMS和ERP是企业常用的两种管理软件,虽然它们都是管理企业资源的软件,但它们的功能和使用场景有所不同。 那么问题来了:很多工厂的管理者都知道自己已经购买或者计划购买的ERP中包含仓储管理模块,那么WMS和ERP系统中的仓储管理模…

node:常用的文件操作fs模块

文章目录 背景读写创建复制移动(重命名)是否存在删除示例1、文件内容替换2、文件夹内的所有文件内容替换 封装 背景 我们日常工作中,想要对前端做一些自动化操作的时候,免不了使用 node 的文件读写操作,今天来总结一下…

JVM 堆

堆的核心概述 一个 JVM 实例只存在一个堆内存,堆也是 Java 内存管理的核心区域Java 堆区在 JVM 启动的时候即被创建,其空间大小也就确定了。是 JVM 管理的最大一块内存空间堆可以处于物理上不连续的内存空间中,但是在逻辑上它应该被视为连续…

久戴不痛的蓝牙耳机有哪些?久戴不痛的蓝牙耳机推荐

现如今的都市青年离不开什么数码产品?抛开手机这一答案,耳机肯定是第一项,遇到嘈杂的车流声,轰鸣的地铁,安静的图书馆,蓝牙耳机可以可以让人更加沉浸在自己的世界里,很多烧友在选购时候除了对音…

MySQL基础(二十七)性能分析工具的使用

1. 数据库服务器的优化步骤 当我们遇到数据库调优问题的时候,该如何思考呢?这里把思考的流程整理成下面这张图。 整个流程划分成了观察(Show status)和行动(Action)两个部分。字母 S 的部分代表观察&…

全网最详细,性能测试场景模型分析,从0到1实施性能测试...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能测试&#xf…

资深测试总结,Python接口自动化测试-数据依赖解决(详全)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…

MyBatis学习 (一) 配置文件解析流程

MyBatis源码学习 最近在学习MyBatis的代码。记录下 首先下载下源码: https://github.com/mybatis/parent https://github.com/mybatis/mybatis-3 parent为父控依赖。也需要下载。 入口 InputStream inputStream null; try {// 获取配置文件inputStream Reso…

Java经典笔试题—day06

Java经典笔试题—day06 🔎选择题🔎编程题🥝不要二🥝把字符串转换成整数 🔎结尾 🔎选择题 (1)关于抽象类与最终类,下列说法错误的是? A. 抽象类能被继承,最终类只能被实…

Python、Pytest、Allure、Selenium和Jenkins实现自动化测试集成实例

下方查看历史精选文章 重磅发布 - 自动化框架基础指南pdfv1.1大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 本文将介绍如何使用Python、Pytest、Allur…

燃气巡检系统

燃气管网检查是整个管网可靠运行的重要保证,尤其是加强天然气管道巡检管理更是重中之重。要做好管网维护工作,必须认真把握好每个环节,每个过程,每个细节,认真落实管网巡维制度等,而通过凡尔码管理系统可使…

程序员痛心流涕自述:“因为把自己代码给了别人,我亲手断送了自己的前程”

在求职的过程中,一般都会有投递简历、笔试、面试以及背调的环节,而在这几个环节中折戟沉沙的人也着实不少。 不少人觉得,在求职时简历需要优化,背调不能有瞒报、捏造的情况,而笔试面试则是纯纯的要靠硬实力。 虽然说…

MySQL基础(二十六)索引的创建与设计原则

1. 索引的声明与使用 1. 1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式,索引可以分…

【Linux】shell编程之循环语句

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、循环语句二、for循环语句1.for 语句的结构2.for语句应用示例 三、while 循环语句1.while 循环语句结构2.while语句应用示例 四、until 循环五、跳出循环六、死循…

【Linux】信号的保存

信号的小细节真的很多~ 文章目录 前言一、信号的保存总结 前言 首先我们先引出一个新的概念,叫核心转储。linux系统提供了一种能力,操作系统可以将一个进程在异常的时候将核心代码部分进行核心转储,将内存中进程的相关数据全部dump到磁盘中&…

新版ripro全站美化子主题美化包使用说明手册

前言: 安装 Ripro 前,首先是需要先安装好 WordPress 主程序,因为 Ripro和美化包只是 WordPress 的一枚主题而已! 如何安装 WordPress 并不在本教程范围内,建议百度 如何安装好 WordPress ,但是还是想建议一下,尽量选择 Linux+php+nginx 的机器来安装 WordPress! 安装…

win部署CAS服务并使用

前提描述:通过本次了解cas是个什么东西,并使用它。 cas为oss(单点登录)的一种实现方案。要实现cas单点登录,首先需要部署cas的server服务。 CAS是Central Authentication Service的缩写,中央认证服务,。 一、安装CAS…

若依管理系统RuoYi-Vue:权限系统设计详解

文章目录 摘要数据库表结构设计菜单管理目录、菜单和按钮的区别菜单权限 api接口权限配置方法PreAuthorize注解介绍数据权限 前端vue权限拦截菜单权限按钮权限 摘要 若依(RuoYi)是一款基于Spring Boot和Vue.js开发的快速开发平台,它的权限管…