第三章 Linux中的shell与权限

news2024/11/26 2:05:49

第三章 Linux中的shell与权限

  • 一、linux的内核(kernel)与外壳(shell)
    • 1、内核与外壳的关系
    • 2、外壳的作用
  • 二、权限
    • 1、用户中的权限
      • (1)超级用户:root
      • (2)普通用户
        • a.普通用户的创建
        • b.普通用户的权限
      • (3)用户之间的短暂切换
      • (4)单条指令的提权操作
    • 2、文件中的权限
      • (1)文件访问者的分类
      • (2)文件自身的权限
        • a.后缀与文件类型
        • b.rwx是什么
  • 三、权限的更改操作
    • 1、语法

一、linux的内核(kernel)与外壳(shell)

1、内核与外壳的关系

linux是一个操作系统,linux内核,顾名思义就是linux操作系统的核心。

我们平时输入的命令行,系统是听不懂的,真正在背后实现使用者需求的是linux的内核。

我们本可以直接操作内核,但是这样对使用者的门槛是相当高的。就像很多不懂计算机的人,依然能够轻松调用windows中的软件,或者编辑一些内容。但他们并不是直接去操作windows的核心的。那么为了降低使用的门槛,就在内核的外层包裹了一层外壳。
在这里插入图片描述

使用者直接面对的其实是外壳(shell)。比如在windows系统中,相当于shell的其实就是可视化的图形界面。而在我们的linux操作系统中,shell就是我们的命令行指令。

当我们通过一些简单的指令传递给shell的时候,shell会将我们的指令传递给内核,然后内核开始工作,工作结束后,内核将结果反馈给shell,shell再转化为使用者能够看懂的语言反馈给使用者。

所以,外壳是人和linux内核之间沟通的桥梁。

2、外壳的作用

其实根据刚才的介绍,我们或许已经领悟到其中一个作用:方便用户使用操作系统。

还有一个很重要的作用,就是保护内核

什么意思呢?当用户想要访问一个东西或编辑一些东西的时候,shell会看你有没有权限去执行这些操作,如果没有的话,shell会阻止你访问,防止用户破坏内核。如果内核被破坏的话,很明显,这个系统就崩掉了。

此时,我们就提到了另外一个重要的概念:权限。那么linux的权限是如何体现的呢?请看作者后续的讲解。

二、权限

linux的权限的解析要从两个方面出发:用户和文件。这两方面的共同组成了linux的权限。

1、用户中的权限

(1)超级用户:root

超级用户root可以做任何事情,不受任何的限制。 当我们用root用户去登录的时候,我们的命令行中的提示符是“#”。

(2)普通用户

a.普通用户的创建

增加用户:
	adduser 用户名
	
设置密码:
	passwd 用户名

需要注意的是,在设置密码的时候,屏幕上不会显示,设置结束后,直接回车确定即可。

b.普通用户的权限

普通用户就是我们登录linux后,自己创建的用户。普通用户只能linux系统中操作有限的事情。普通用户在使用linux的时候,命令行的提示符是 $

(3)用户之间的短暂切换

比如某个文件我们身为普通用户是无法访问的,那么我们可以通过下面这个指令实现操作某个文件时的短暂提权。

su 用户名

如果是从root切换暂时切换到其余普通用户,可直接切换。但是从普通用户利用该命令切换到root超级用户,则需要填写root用户的登录密码。

由于是短暂切换,所以我们可以按ctrl + d切换回来。

(4)单条指令的提权操作

sudo 命令

sudo指令可以在不更改当前用户的情况下对某条指令进行提权操作。

2、文件中的权限

(1)文件访问者的分类

无论我们是超级用户还是普通用户,在面对不同的文件的时候,我们所扮演的角色也是不同的。

面对一个文件的时候,访问者的角色共分为以下三类:

  • 文件或文件目录的所有者:User
  • 文件或文件目录的所有者所在的组中的用户:Group
  • 其他用户:Others

每个文件的权限都是针对三类角色分别提出的。

(2)文件自身的权限

在linux中,我们观察目录下文件的一些详细的信息的时候,会出现一大串信息,如下图所示:
在这里插入图片描述
我们发现,在我们创建的目录和文件之前有很多信息,但是这些信息代表什么含义呢?

请看下面的图解:
在这里插入图片描述
上述图中的解释,其实就很容易理解了。或许有人会问怎么没写others,其实,这个问题很简单,除了文件所属的用户和文件所属的组之外,其余用户都是others。

但是上面的图中并没有讲解文件所属用户前面的这一堆字母是什么信息,那么接下来,作者将对此进行详细地讲解。
在这里插入图片描述

我们解决以下几个问题:

a.后缀与文件类型

我们发现,我们创建的文件中有的是后缀为.cpp的代码文件,还有的是没有后缀的不知名文件,但是这些文件信息中的第一行都是-,说明在linux系统看来无论这些文件的后缀是什么,对于系统而言,这些文件都是普通文件

既然这些文件对于linux都一样,我们是否可以用linux下的编译软件gcc去编译那些没有.c后缀的文件呢?

答案是不可以的。

这时候就会有很多人感到疑惑了,为什么呢?不都是普通文件吗?

其实答案很简单,对于linux来说后缀没有用,但是对于linux上下载的软件gcc而言,后缀是起到了作用的。因此,这些文件在面对linux的时候,可能都是普通文件,但是在面对不同的软件的时候,这些普通文件又根据后缀有了不同的分类。

b.rwx是什么

除了第一列以外,还有9列,这9列三个为一组,代表三种不同角色面对该文件的时候,所具备的权限。

对于任意的一组,三个位置都是固定的,分别代表:读 ( r )、写( w )、可执行( x )

这三个之间的顺序是固定的,如果哪一位上是-,则说明这一位所代表的权限,该角色是不具备的。

比如图片中的第一行:
在这里插入图片描述
橘色框中的:
rw-的含义是,在面对该文件的时候,文件的拥有者可以进行读和写的操作,但是不具备可执行的操作。

三、权限的更改操作

1、语法

chmod u/g/o/a +- rwx filename

上述指令语法中,u代表user,用户。g代表group,即小组。o代表others,即其他。chmod的意思是更改权限,+代表增加权限,-代表取消权限。rwx分别代表阅读,写,执行三种操作。
在这里插入图片描述
当然我们还可以采用另外的方式更改这些文件的权限,我们知道在计算机的语言中,0代表假,非0代表真。我们此时可以采用一种二进制的方式去更改,因为二进制是由0和1组成的。恰好分别代表了假与真。

那么我们怎么更改呢?rwx可以看作三位,如果我们输入的是7,7的二进制位是111,三位都是真,代表三个权限都具备。如果我们输入的是5,5的二进制位是101,则说明只用读和执行的权限,没有写的权限。

而我们的用户所扮演的角色有三个,因此我们需要输入三个数字,分别代表三者权限。
在这里插入图片描述

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

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

相关文章

超实用的微信公众号内容运营方案分享

公众号运营的本质就是图文生产,内容绝对是涨粉引流的关键。没有产出好的内容,这个公众号是绝对走不长远的。 公众号内容运营大致上可以分为两个大方向,一个是搭建完整的公众号内容体系,一个是创作具体的公众号推文内容&#xff0…

Sklearn标准化和归一化方法汇总(2):Min-Max归一化

Sklearn中与特征缩放有关的五个函数和类,全部位于sklearn.preprocessing包内。作为一个系列文章,我们将逐一讲解Sklearn中提供的标准化和归一化方法,以下是本系列已发布的文章列表: Sklearn标准化和归一化方法汇总(1)&#xff1a…

【现代机器人学】学习笔记十:机器人控制

这节的内容主要讲述在关节空间和任务空间中的运动控制中的反馈控制,力控制,运动-力混合控制以及阻抗控制、导纳控制,pid控制等内容。在之前的内容当中,往往不涉及到实际对机器人的操纵,即我们计算出一个结果&#xff0…

【5】KubeSphere部署应用 | MySQL

目录 1、部署的架构 2、KubeSphere几个主要的模块 3、部署MySQL 【1】先创建MySQL的配置文件 【2】创建存储卷 【3】部署有状态服务 【4】查看创建的服务 【5】创建一个服务可以在集群外可以访问 1、部署的架构 2、KubeSphere几个主要的模块 KubeSphere的工作负载相当于k8s里…

算法之常见字符串题目

leedcode344. 反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1: 输入:s […

进程学习笔记

进程 定义 一个程序程序在一个数据集合上的动态执行过程 与程序区别 动静,暂时的过程和永久的存在,进程由程序、数据、进程控制块(PCB)组成 特性 动态并发(进程)独立(分页有力支持&#x…

Linux:C/C++文件操作

回忆C语言文件操作 fopen()的使用:   答:打开文件流指针。 param2 “w”,当前没有文件就先创建,再写入。 “r”,只读。 “b”,可与w、b组合。 只写的例子: 只读的例子: 依靠fg…

《Linux性能优化实战》学习笔记 Day01

学习目标 系统优化的旅程上,对操作系统相关的优化是绕不开的,主动出击,将零星的知识体系化。今后遇到问题,能够加入自己的体系树中,即使专栏中没有提到,自己也能够想办法深入。 希望在这次课程后&#xf…

黑马Redis | 基础篇

目录 一、SQL和NoSQL的区别 结构化与非结构化 关联和非关联 查询方式 事务 总结 二、Redis数据类型和命令 1、通用命令 2、数据类型 3、String类型 String的常见命令 Key结构 4、Hash类型 常见命令 5、List类型 6、Set类型 Set的常见命令 7、SortedSet类型 …

科研快报|PacBio全长扩增子测序破解蚊子肠道微生态与耐药性差异

论文题目:Differences in the intestinal microbiota between insecticide-resistant and -sensitive Aedes albopictus based on full-length 16S rRNA sequencing.期刊:Microbiologyopen影响因子:3.139发表时间:2021年1月研究背…

一个非常好用的中奖概率控制器

本文首发于微信公众号: 小蚂蚁教你做游戏。欢迎关注领取更多学习做游戏的原创教程资料,每天学点儿游戏开发知识。嗨!大家好,我是小蚂蚁。今天分享一个非常好用的概率控制器,可以用于游戏中两种行为出现的概率控制。这个…

PHP MySQL 插入数据

使用 MySQLi 和 PDO 向 MySQL 插入数据 在创建完数据库和表后,我们可以向表中添加数据。 以下为一些语法规则: PHP 中 SQL 查询语句必须使用引号在 SQL 查询语句中的字符串值必须加引号数值的值不需要引号NULL 值不需要引号 INSERT INTO 语句通常用于…

《Linux Shell脚本攻略》学习笔记-第十三章

13.1 简介 现代Linux应用可以部署在专门的硬件、容器、虚拟机或是云端。 容器的缺点在于它以来于主机的系统内核。 虚拟机的防在于要占用大量的磁盘空间。 如果你想同时运行多个虚拟机,必须要有足够的内存来支撑各个虚拟机。否则,主机就不得不开始交换页…

SLS:基于 OTel 的移动端全链路 Trace 建设思考和实践

作者:高玉龙 (元泊)首先,我们了解一下移动端全链路 Trace 的背景:从移动端的视角来看,一个 App 产品从概念产生,到最终的成熟稳定,产品研发过程中涉及到的研发人员、工程中的代码行数、工程架构规模、产品发…

探索VGG网络与LeNet网络对精度的影响

1 问题在学习不同网络模型对实验精度的影响过程中,对我们的实验结果,各种参数数值的改变有何变化,有何不同。VGG-11网络与LeNet-5网络对精度和损失的影响研究。训练周期20其他参数都相同的方式来探索最终的精度。2 方法对于VGG-11网络&#x…

QTreeWidget 设置任意行背景色

设置任意某行,网上这类示例少,一般都是选中行、交替行、高亮行等设置。 比如我要将顶层节点的背景色修改一下。 方法1,先继承QTreeWidget,更改它的 drawBranches函数,在里面添加条件判断,然后根据需要设置颜色。 #i…

【计算机体系结构-01】指令集体系结构、微体系结构简介

1. “虚拟” to “现实” 首先可以看这张图片,下面的 Physics 所指的是我们的物理世界中看得见摸得到或者是客观存在的事物,而人类希望将自己的工作内容或者需求以某种方式映射到物理层面上,用物理变化带来的影响来完成人类工作内容。例如早期…

Python【r e】模块正则表达式[中]实战

正则表达式相关函数和符号用法:#正则表达式""".匹配任意某个字符[.]与转义字符的作用一致,表示匹配.,配合 ,[.],即匹配一次或则多次. text . 或则 text ...2.从头匹配或者从左往右匹配re.match()"""import …

IDEA整合Docker,一键打包服务镜像与启动容器

尝试了IDEA整合Docker,坑有些多,但经过查阅资料都一一解决了,写了个案例,感觉这种方式确实要方便很多。下面来整理下步骤: 一、安装Docker 准备一台Linux,我这里用的是centos 7 mini 版,然后安…

内网穿透的概念及解决方案

1.什么是内网穿透 在外网的web请求可以转发到内网的本地服务 2.什么是内网?什么是外网? 内网(也叫局域网(Local Area Network,LAN))是在一个局部的地理范围内,一般可以是是几米内(比如家庭内网),也可以是方圆几千米…