【Linux】权限篇(一)

news2024/11/25 6:46:13

权限篇目录

  • 1. 前言
  • 2. shell
  • 3. 权限介绍
    • 3.1 什么是权限
    • 3.2 权限的本质
    • 3.3 Linux中的用户
    • 3.4 Linux中文件的权限

1. 前言

在之前的博客中已经学习了一些相关的操作,这次来分享的是与Linux的权限有关的一些笔记。
在正片开始之前,先来讲讲外壳(shell)。

2. shell

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

我们知道:

  1. 在Linux上面,大部分指令就是文件。
  2. 用户在执行某种功能的时候,不是直接让操作系统执行对应的指令的,而是先交给外壳程序。
    这句话是什么意思呢?
    在这里插入图片描述
    实际上用户是不能直接访问操作系统的,一般在操作系统外面都会封装一层外壳程序,也就是shell程序。

最典型的外壳有两种,一种是图形化界面,另一种是命令行。有的将图形化界面直接写道操作系统里面,比如windows。
就像我们电脑在开机的时候,最后一步就是在加载图形化界面。

-----------------------------------------------------------------------------------------

shell是什么呢?
介于用户和操作系统之间的软件,也就是命令解释器。
它的作用是:

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

那为什么会有shell?

  1. 用户不善于和操作系统(OS)之间交互。
  2. shell外壳的存在,可以对请求进行合法性检查,变相的保护OS。

在这里插入图片描述

bash不会直接执行命令,它会创建一个子进程,让子进程去执行。
这个子进程会帮用户进行命令行解释。
而真正的bash只需要等待就行。

总结:
对于大部分操作系统,在它的软件外层还有一个外壳层。这个外壳层通常进行命令行解释。
在用户和操作系统之间加一层软件层,主要将命令翻译给核心,同时将对应的操作系统执行结果翻译给用户。
其中这个外壳程序就叫做shell外壳,常见的外壳有图形化界面和命令行。

shell和bash有什么区别呢?
也就是说shell是所有外壳程序的统称,bash是具体的一款外壳程序。
命令行解释器在不同的操作系统中,有不同的种类,像sh。

3. 权限介绍

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

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

3.1 什么是权限

权限就是通过一定的条件来拦住一部分人,给一部分人权利,来访问某种资源。

就和门禁和vip的道理相同。
权限的有无,就是能或者不能的问题。

3.2 权限的本质

  1. 权限和人有关,就像在视频网站上有的视频只能是vip才能看。
  2. 权限也与事物的属性有关,就像不能在视频网站什么刷题是一样的,它没有这个属性。

也就是说:权限=人+事物的属性有关

这个“人”,并不是指的具体某一个人,而是一种角色
就像是在学校的校门的门禁一样,并不是说你叫张三就能进入学校,而是说,你是这个学校的学生,是这个角色,才能进学校。

3.3 Linux中的用户

Linux下有两种用户:超级用户(root)、普通用户。
在这里插入图片描述
我们大部分用的就是root。

在Linux中root是超级管理员,所以它不受权限约束。

那么普通用户怎么将自己变成超级用户呢?
我们先使用普通账号
在这里插入图片描述
将普通用户变成root,直接su,这里提示要输入密码
在这里插入图片描述
那么这里输入哪个的密码?
我们登录的是root当然就是输入root的密码。
所有建议普通用户和root的密码不要设置成一样的。
在这里插入图片描述
此时就变成了root。

-----------------------------------------------------------------------------------------

那么怎么退回普通用户呢?
直接ctrl+D
在这里插入图片描述
就变成普通用户。

-----------------------------------------------------------------------------------------

普通用户变成超级用户还有一种方式就是su -
在这里插入图片描述
此时输入的还是root的密码,但是多了一条提示信息。

susu -的区别是什么?
su是就是直接将当前角色的身份变成root。
su -是相当于是让root重新做登录了。
此时路径会发生变化,直接到root的家目录下面了。
在这里插入图片描述
但是如果我们单纯的用su,所处的路径不会发生变化。
在这里插入图片描述

如果要将普通用户切换为root,建议直接su就行。

-----------------------------------------------------------------------------------------

如果超级管理员想变成普通用户怎么办呢?
在这里插入图片描述
如果想变成指定的用户,直接su+指定用户就行。
在这里插入图片描述
退出直接ctrl+D就行了。

-----------------------------------------------------------------------------------------

如果不想直接变成root,但想以root的身份执行一个工作该怎么做?
在创建的文件前面加sudo
在这里插入图片描述
这里输入的是普通用户自己的密码。
这种操作叫做指令提权。

那为什么sudo对指令进行提权的时候,输入的是普通用户自己的密码?
在这里插入图片描述
一般普通用户是没有权限去执行这个的,会报错。在云服务器上默认是不行的。

默认普通用户目前是无法执行sudo,在之后的学习vim,再来解决这个问题。

所以目前我们想以root的身份执行一个工作时,直接变成root就行。

3.4 Linux中文件的权限

在这里插入图片描述
在Linux中有三种“人”:
拥有者
所属组
other
在这里插入图片描述
但是我们看不见other啊?
在Linux下是有组的概念的,一般情况下自己就是一组。
other是匹配完拥有者和所属组后,剩下的不匹配的都是other了。

为什么会有所属组的概念?
举个例子;在一家公司里可能会有两组人做同时一个项目,如果这两组都在同一个服务器上做。当某一天,如果领导需要看第一组的源代码时,当放开的时候,另外一组可能会看到第一组的源代码。所以在Linux系统中就得有所属组。
当第一组组内在所属组内放开权限时候,另外一组也看不到。
所属组就是为了在多人协作的时候,更好的进行权限管理。

-----------------------------------------------------------------------------------------

Linux中具体的角色是需要具体的人来扮演的。

在这里插入图片描述
我们会发现前边有10个字符,第一列的第一个字符,就表示文件的类型。-:表示普通文件;d:表示目录文件。

文件

剩下的9个字,33为一组,分别对应拥有者,所属组,other。

在这里插入图片描述
所以说:
权限=用户角色(具体的人)+文件权限属性

对于这三个字符,所对应的位置是固定的。
没有就用-,有就对应相关那个字符。
在这里插入图片描述

如果有错误请指出,大家一起进步!

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

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

相关文章

实体店如何进行线上线下统一管理

随着互联网的普及和消费者行为的改变,实体店不再满足于单一的线下销售模式,开始探索线上线下的融合。本文将介绍如何通过搭建小程序和乔拓云平台,实现实体店的线上线下统一管理。 实体店可以通过微信小程序搭建自己的线上平台,实现…

【贪心算法】之 买股票的最佳时机(中等题)

1.买卖股票的最佳时机 把利润分解为每天为单位的维度,而不是从0天到第3天整体去考虑! 那么只收集正利润就是贪心所贪的地方! 局部最优:收集每天的正利润,全局最优:求得最大利润。 局部最优可以推出全局最…

一篇文章带你进阶CTF命令执行

以下的命令是为了方便以后做题时方便各位读者直接来这里复制使用,刚开始还请先看完这篇文章后才会懂得下面的命令 ?ceval($_GET[shy]);&shypassthru(cat flag.php); #逃逸过滤 ?cinclude%09$_GET[shy]?>&shyphp://filter/readconvert.base64-…

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类

基于MLP完成CIFAR-10数据集和UCI wine数据集的分类,使用到了sklearn和tensorflow,并对图片分类进行了数据可视化展示 数据集介绍 UCI wine数据集: http://archive.ics.uci.edu/dataset/109/wine 这些数据是对意大利同一地区种植的葡萄酒进…

Navicat里放大、缩小字体的快捷方法

我是偶然误触键盘把字体缩小了,研究以后发现的这个快捷键,分享给大家。 方法:按住【CtrlShift】组合键,再拖动鼠标滚轮,就可以缩放字体了。 缩小效果: 放大效果:

在 TensorFlow 中启用 Eager Execution

TensorFlow 是一个端到端的开源机器学习平台,可以更轻松地构建和部署机器学习模型。TensorFlow 应用程序使用一种称为数据流图的结构。默认情况下,在 TensorFlow 1.0 版中,每个图形都必须在 TensorFlow 会话中运行,这只允许一次运…

C# Onnx Yolov8 Detect 物体检测 多张图片同时推理

目录 效果 模型信息 项目 代码 下载 C# Onnx Yolov8 Detect 物体检测 多张图片同时推理 效果 模型信息 Model Properties ------------------------- date:2023-12-18T11:47:29.332397 description:Ultralytics YOLOv8n-detect model trained on …

UE4 UE5 一直面向屏幕

一直面相屏幕,方法很简单 新建一个蓝图,如下添加组件: 蓝图如下: Rotation Actor :需要跟随镜头旋转的物体 Update:一个timeline(替代event tick 只是为了循环) Timeline&#xff…

变量覆盖漏洞 [BJDCTF2020]Mark loves cat 1

打开题目 我们拿dirsearch扫描一下看看 扫描得到 看见有git字眼&#xff0c;那我们就访问 用githack去扒一下源代码看看 可以看到确实有flag.php结合index.php存在 但是当我去翻源代码的时候却没有翻到 去网上找到了这道题目的源代码 <?phpinclude flag.php;$yds &qu…

Linux Centos 配置 Docker 国内镜像加速

在使用 Docker 进行容器化部署时&#xff0c;由于国外的 Docker 镜像源速度较慢&#xff0c;我们可以配置 Docker 使用国内的镜像加速器&#xff0c;以提高下载和部署的效率。本文将介绍如何在 CentOS 系统上配置 Docker 使用国内镜像加速。 步骤一&#xff1a;安装 Docker 首…

大数据机器学习 - 似然函数:概念、应用与代码实例

文章目录 大数据机器学习 - 似然函数&#xff1a;概念、应用与代码实例一、概要二、什么是似然函数数学定义似然与概率的区别重要性举例 三、似然函数与概率密度函数似然函数&#xff08;Likelihood Function&#xff09;定义例子 概率密度函数&#xff08;Probability Density…

伪协议和反序列化 [ZJCTF 2019]NiZhuanSiWei

打开题目 代码审计 第一层绕过 if(isset($text)&&(file_get_contents($text,r)"welcome to the zjctf")){ echo "<br><h1>".file_get_contents($text,r)."</h1></br>"; 要求我们get传参的text内容必须为w…

智能优化算法应用:基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于未来搜索算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.未来搜索算法4.实验参数设定5.算法结果6.…

Chatgpt如何多人使用?如何防止封号?

时下火爆年轻人的AI技术当属于Chatgpt&#xff0c;但他是一把双刃剑&#xff0c;使用它给我们带来便利的同时&#xff0c;也可能会带来隐患&#xff0c;因此我们需要科学使用AI技术。 本文将针对备受关注的Chatgpt如何多人共享使用&#xff1f;如何防止封号&#xff0c;为你带…

playbook 模块

list together nested with_items Templates 模块 jinja模块架构&#xff0c;通过模板可以实现向模板文件传参&#xff08;python转义&#xff09;把占位符参数传到配置文件中去。 生产一个目标文本文件&#xff0c;传递变量到文本文件当中去。 实验&#xff1a; systemctl…

uniapp整合echarts(目前性能最优、渲染最快方案)

本文echarts示例如上图,可扫码体验渲染速度及loading效果,下文附带本小程序uniapp相关代码 实现代码 <template><view class="source

thinkphp的生命周期

1.入口文件 index.php 用户通过入口文件&#xff0c;发起服务请求&#xff0c;是整个应用的入口与七点 定义常量&#xff0c;加载引导文件&#xff0c;不要放任何业务处理代码 2.引导文件 start.php; 加载常量->加载环境变量->注册自动加载->注册错误与异常->加…

基于Java (spring-boot)的课程管理系统

一、项目介绍 ​近年来&#xff0c;随着网络学校规模的逐渐增大&#xff0c;人工书写数据已经不能够处理如此庞大的数据。为了更好的适应信息时代的高效性&#xff0c;一个利用计算机来实现学生信息管理工作的系统将必然诞生。基于这一点&#xff0c;设计了一个学生信息管理系统…

2023.12.21:烧录三个led灯

.text .global _start _start: /*---------------------------------LD1------------------------------------------------*/设置GEIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0x50000A28LDR R0,0X50000A28 指定寄存器的地址LDR R1,[R0] 将寄存器数值取出来放在R1中…

7-高可用-回滚机制

事务回滚 在执行数据库SQL时&#xff0c;如果我们检测到事务提交冲突&#xff0c;那么事务中所有已执行的SQL要进行回滚&#xff0c;目的是防止数据库出现数据不一致。对于单库事务回滚直接使用相关SQL即可。 如果涉及分布式数据库&#xff0c;则要考虑使用分布式事务&#x…