shell外壳与Linux权限

🌈个人主页:Yui_
🌈Linux专栏:Linux
🌈C语言笔记专栏:C语言笔记
🌈数据结构专栏:数据结构

文章目录

  • 1.shell命令以及运行原理
  • 2. Linux权限的概念
  • 3.Linux权限管理
    • 3.1 文件访问者的分类
    • 3.2 文件类型和访问权限
      • 3.2.1 文件类型
      • 3.2.2 基本权限
    • 3.3 文件访问权限的相关设置方法
      • 3.3.1 chmod指令
      • 3.3.2 chown指令

1.shell命令以及运行原理

Linux严格意义上来说是一个操作系统,我们称其为“核心”(kernel),但是我们一般用户不能直接操作kernel的,而是通过kernel的外壳程序,也就是所谓的shell来与kernel沟通。如何理解?为什么不能直接使用kernel?
从技术角度,shell的最简单定义:命令行解释器(command interpreter)功能:

  • 将使用者的命令翻译给核心处理。
  • 同时,将核心的处理结果翻译给使用者。
    对比Windows GUI,我们操作Windows不是直接操作Windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符)
    shell对应Linux,有相同的作用,主要对我们的指令进行解析,解析指令给Linux内核,反馈结果再通过内核运行出结果,通过shell解析给用户。
  • Shell本质也是一个执行起来的程序(进程),系统启动期间一直存在
  • 每次你进行xshell登录时候,OS都会给你这个用户的当前登录新启动一个行的shell,bash

2. Linux权限的概念

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

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

命令

su [用户名]

功能
切换用户。
当我们需要从root用户切换到普通用户user_name时,则使用su user_name
要从普通用户切换到root用户则使用su root(root可以省略)/su -,此时系统会提示输入root用户的密码。
演示:从普通用户切成root再从root切回普通用户
用户切换

普通用户切换成root,需要root密码
Root用户切换成普通用户不需要密码
普通用户变成另一个普通用户需要对方的密码
sudo提权
语法

sudo 加其他指令

功能
暂时拥有root权限
sudo 对指定的指令提权,当root用户把用户拉人"信任"名单后,用户就可以使用sodo提权了
演示:利用root权限修改文件的所有者为root
sudo

3.Linux权限管理

3.1 文件访问者的分类

  • 文件和文件目录的所有者:u—user
  • 文件和文件目录的所有者所在的组的用户:g—Group
  • 其他用户:o—Other

3.2 文件类型和访问权限

访问权限

下面来解释一下红色框住的内容:
解释

拥有者与所属组

3.2.1 文件类型

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

3.2.2 基本权限

r:read
对文件来说,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
w:write
对文件来说,具有修改文件内容的权限;对目录来说,具有删除移动目录文件的权限。
x:execute
对文件来说,具有执行文件的权限;对目录来说,具有进入目录的权限。
-:
表示不具有该项权限。

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

3.3.1 chmod指令

语法

chmod [参数]权限 文件名

功能
设置文件的访问权限。
常用选项

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

方法2:三位8进制数字。

权限符号八进制二进制
r–4100
-w-2010
–x1001
rw-6110
r-x5101
-wx3011
rwx7111
0000
演示:先把file.txt赋予所有权限,再恢复原样。

演示chmod

3.3.2 chown指令

语法

chown [参数]用户名 文件名

功能
修改文件的拥有者
演示:将用户者从root改为yui
演示chown

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

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

相关文章

vue3前端开发-小兔鲜项目-添加购物车操作第一步

首先,呢,告诉大家一个坏消息,官方媒体的案例代码已经被他们删除了。如图所示。 也就是说,大家已经看不到官方的代码文件了。 那么既然如此,我们自己写的这个博客记录日志,就显得尤为重要了。继续今天的内容…

SuccBI+低代码文档中心 — 可视化分析(仪表板)(下)

制作仪表板 引入数据模型 仪表板所需模型已经在数据模块中准备好,可以将对应模型表添加到数据模型中。提供了两种添加方式: 在数据栏中点击添加按钮,在弹出框中通过搜索或直接在其所在目录下选中该模型,点击确定。 点击数据按钮…

一篇讲清楚什么是密码加密和加盐算法 | 附Java代码实现

目录 前言: 一、密码加密 1. MD5介绍 2.彩虹表攻击 3.测试复杂密码是否能被攻破 二、加盐算法 1.对密码123456演示加盐算法 2.盐值的储存 3.密码加盐思想总结 三、Java代码实现 前言: 早些年,数据泄露屡见不鲜,每个班上总…

【Web前端】vue3整合eslint约束代码格式

一、整合eslint 整合eslint的两种方式: 在已有项目中整合eslint:# 安装eslint及其vue插件即可 npm i -D eslint eslint-plugin-vue创建项目时整合eslint: 提示 是否引入ESLint用于代码质量检测 时选择 是# 创建vue3项目 npx create-vue # 下…

.NET8使用VS2022打包Docker镜像

NET8使用VS2022打包Docker镜像 1. 项目中添加Docker支持文件2. 自定义镜像名称3. 发布Docker镜像3.1 安装Docker3.2 控制台切换到项目根目录,执行以下命令发布镜像 3.3 修改镜像名称4. 保存镜像到本地 1. 项目中添加Docker支持文件 2. 自定义镜像名称 项目文件PropertyGroup节…

vue3中 ref 和 reactive 的区别

相同:均是声明响应式对象。且声明的响应式对象是深层的 1. 数据类型不同:ref用于包装JavaScript基本类型的数据(如字符串、数字、布尔值等),而reactive可以用于包装JavaScript对象和数组等复杂类型的数据。 2.访问方式…

力扣45:跳跃游戏2题解

题目链接: https://leetcode.cn/problems/jump-game-ii/description/?envTypestudy-plan-v2&envIdtop-100-liked 参考的代码随想录里面的题解: 题目 难度 中等,标的是中等难度,而且我之前做过这道题,但是我没写…

AI大模型赋能开发者|海云安创始人谢朝海受邀在ISC.AI 2024大会就“大模型在软件开发安全领域的应用”主题发表演讲

近日,ISC.AI 2024 第十二届互联网安全大会在北京国家会议中心盛大开幕。作为全球规格最高、规模最大、影响力最深远的安全峰会之一,本次大会以“打造安全大模型 引领安全行业革命”为主题,聚焦安全与AI两大领域,吸引了众多行业领袖…

【NLP】文本张量表示方法【word2vec、词嵌入】

文章目录 1、文本张量表示2、one-hot词向量表示2.1、one-hot编码代码实现:2.2、onehot编码器的使用2.3、one-hot编码的优劣势 3、word2vec模型3.1、模型介绍3.2、CBOW模式3.3、skipgram模式3.4、word2vec的训练和使用3.4.1、获取训练数据3.4.2、训练词向量3.4.3、查…

学习笔记第二十三天

1.程序与进程 程序(Program):是静态的,它是一组指令的集合,这些指令被存储硬盘上,,程序本身 不占用CPU或内存资源,直到它被加载到内存中执行。 程序---静态---硬盘 进程&#xff08…

C++速学day4

类的继承关系 蛇 和 爬行类动物 //这两个类就是继承关系 子类 父类 //它们的关系相当于 派生类 基类 继承的作用 1、 吸收基类成员 2、改造基类成员 3、添加新的成员 class Dervid…

docker基本管理和应用

docker是一个开源的应用容器引擎,基于go语言开发的 docker是运行在linux的容器化工具,可以理解为轻量级的虚拟机 可以在任何主机上,轻松创建的一个轻量级,可移植的,自给自足的容器 鲸鱼--------->宿主机 集装箱…

vulnstack-7(红日靶场七)

环境配置 vlunstack是红日安全团队出品的一个实战环境,具体介绍请访问:漏洞详情http://vulnstack.qiyuanxuetang.net/vuln/detail/9/ 添加两个网卡 DMZ区域: 给Ubuntu (Web 1) 配置了两个网卡,一个可以对外提供服务;…

前端路由VueRouter总结

简介: Vue路由vue-router是官方的路由插件,能够轻松的管理 SPA 项目中组件的切换。Vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来vue-router 目前有 3.x 的版本和 4.x 的版本,vue-…

设计模式(1)创建型模式和结构型模式

1、目标 本文的主要目标是学习创建型模式和结构型模式,并分别代码实现每种设计模式 2、创建型模式 2.1 单例模式(singleton) 单例模式是创建一个对象保证只有这个类的唯一实例,单例模式分为饿汉式和懒汉式,饿汉式是…

sliver源码分析-初始化以及脚手架

引言 项目概述:对开源的C2框架sliver进行源码分析,意图学习其原理。本篇分析sliver的入口以及脚手架,和基本的配置文件目标与读者:网络安全兴趣爱好者 准备工作 源码路径BishopFox/sliver: Adversary Emulation Framework (git…

[C++][opencv]基于opencv实现photoshop算法图像旋转

【测试环境】 vs2019 opencv4.8.0 【效果演示】 【核心实现代码】 //图像旋转: src为原图像, dst为新图像, angle为旋转角度, isClip表示是采取缩小图片的方式 int imageRotate4(InputArray src, OutputArray dst, double angle, bool isClip) {Mat input src.…

【c++】类和对象 (中) (类的默认成员函数)

类的默认成员函数 在C中,如果你定义了一个类但没有显式地提供特定的成员函数(比如构造函数、析构函数、拷贝构造函数、拷贝赋值运算符等),编译器会为这些函数生成默认的实现。这些默认生成的成员函数称为类的默认成员函数。那么既…

C#学习笔记15:上位机助手_usercontrol窗体内嵌的应用

今日完善一下之前的上位机助手,做一个组合窗体内嵌的多功能助手软件应用, 与之前的上位机软件相比: 更注重控件能够随着窗体缩放而缩放变换,串口助手部分能自动后台检测串口设备,解决市面上大部分串口助手的打开初始化会卡顿的问题 ( 多线程后…

Linux服务管理-Nginx配置

静态解析主要解析html、css动态解析需要解析php 动态资源通过轮询分配到后端的Apache服务器处理 apache是同步阻塞,nginx是异步非阻塞