当前位置: 首页 > news >正文

Linux——shell原理和文件权限

1.shell原理

        在我们使用云服务器时,需要通过shell进行使用,而shell则是一种外壳程序。

        

        我们提到过,大部分的指令实际上就是文件,当用户需要执行某种功能时,由于用户不擅长和操作系统直接交互(操作复杂),并且出于保护操作系统的目的(防止不合法请求交给操作系统),用户不直接使用操作系统内核,而是通过shell外壳程序来进行处理。

        外壳程序(shell程序)介于用户和操作系统之间的软件,也就是我们所见的命令行解释器。它可以将用户输入的命令进行检查并翻译给核心,而核心的处理结果也会通过shell翻译给用户。shell在执行时会创建子进程,来帮助用户进行命令行解释。bash是我们在centos7中所使用的具体的一种shell,shell作为命令行解释器是Linux的基本使用访问形式,就像是GUI图形化界面对于windows一样。

2.Linux权限

        权限,在汉语词汇中的意思是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。可以发现,权限的定义中具有两个对象,分别是角色和事物,不同的角色对于不同的事物具有的权力不同。在Linux中,权限也就是根据用户的不同,对具体的文件具有不同的访问权限。

2.1 Linux的用户

        在Linux中可以粗略的将用户分为两类:①root(超级用户、超级管理员),它的命令行提示符是#,不受到权限约束。②普通用户,它的命令行提示符是$。

2.1.1 用户转换——su

        因为存在着两种用户,所以会面临着用户身份的转换。su指令可以进行身份的变化。通过 su 可以将身份由普通用户变化为root身份,需要输入root的密码。而 su <用户名> 可以将身份由root变为普通用户,无需密码。

2.1.2 指令提权——sudo

        因为root和普通用户的权限不同,在某些情况下普通用户需要更多权限来执行一条指令,那么这个时候就可以使用sudo来进行指令提权。如:sudo touch normal.txt 就是以root的身份创建一个文件。

        sudo提权需要输入普通用户的密码,这是因为实际上并不是所有用户都可以进行指令提权,只有处在root白名单中的用户才可以进行指令提权,白名单实际上是一个只有root可以访问的文件,当root信任某一个用户后可以将其加入白名单,这样这个用户就被允许进行sudo指令提权了。

2.2 Linux的权限

2.2.1 Linux的角色

        站在一个目录或者文件的视角来看,实际上访问者可以分为三类,也就是三种角色:①拥有者:文件或目录的所有者;②所属组:文件或目录的所有者所在的组;③other:除了文件的所属组以外的用户。Linux管理权限正是针对这三种角色进行管理。

        以下是查看文件详细信息的各部分含义:

2.2.2 文件类型

        Linux不通过文件的后缀来区分文件类型,而是通过文件属性中的标识。我们在上一个图片中已经看到了文件类型的表示:

-:普通文件,包括文本文件、可执行文件、库等;

d:目录文件;

b:块设备文件,如磁盘;

c:字符设备文件,如显示器;

P:管道文件;

I:链接文件,也就是快捷方式。

        虽然Linux不使用后缀区分文件类型,但是我们还是应该使用后缀名,不仅是因为便于自己使用,而且因为部分工具、程序需要根据后缀名进行区分。

2.2.3 文件的权限

        对于普通文件,rwx不难理解,分别是可读、可写、可执行。而对于目录文件,rwx的功能则是:r,查看目录内文件信息的权限;w,在目录内创建、修改、删除的权限(可以看到删除文件与这个文件的权限无关,而取决于其所在目录的写权限);x,进入目录的权限。

        我们可以看到rwx权限实际上可以用三个二进制数字来表示,如r-x可以表示为101,也就是八进制的5,所以我们可以使用三个八进制数字来表示一个文件的三组的三个权限。

2.2.3.1 修改权限——chmod

        在学会权限的含义只后,就要试着修改权限,修改权限使用到的指令是chmod指令。

chmod u±rwx , g±rwx , o±rwx , a±rwx 文件名

含义就是修改文件的u(拥有者)、g(所属组)、o(other)的权限,增加(+)或去除(-)rwx的若干种权限。

除此之外,也可以使用我们刚才所说的三个八进制数字的方式修改权限:

chmod xxx(八进制数) 文件名

 

2.2.3.2 修改拥有者和所属组——chown

chown/chgrp 用户 文件名

修改文件的拥有者/所属组为对应的用户。需要指令提权。

        需要注意的是,所属组的出现是为了方便权限管理,相当于提供了除了拥有者一个人外的其他人的访问身份,同时有排除了无关人员other的干扰。

        Linux对于身份的识别只进行一次,换言之就是当用户既是拥有者又是所属组时,Linux只认定拥有者的权限,所以尽管所属组有权限但是拥有者没有,同样无权执行对应操作。

2.2.3.3 掩码——umask

        对于新创建的文件,其权限是文件类型和掩码共同决定的。普通文件的起始权限为0666,目录文件的起始权限为0777。可以通过命令行输入umask来查看掩码,而最终初始化的权限=文件对应的起始权限&(~umask),也就是异或运算。

        因此对于0002的掩码,创建的普通文件的权限为0664,目录文件的权限为0775。

        可以使用umask+修改后的掩码来对其进行修改。

2.2.3.4 粘滞位

chmod +t 目录名

        通过这样的方法可以为目录设置粘滞位,即可以限制删除操作。对于目录中的文件,只有root、目录拥有者、文件拥有者可以删除,其他角色不具有该权限。

相关文章:

Linux——shell原理和文件权限

1.shell原理 在我们使用云服务器时&#xff0c;需要通过shell进行使用&#xff0c;而shell则是一种外壳程序。 我们提到过&#xff0c;大部分的指令实际上就是文件&#xff0c;当用户需要执行某种功能时&#xff0c;由于用户不擅长和操作系统直接交互&#xff08;操作复杂&…...

网络工程师需要熟悉Docker吗?我觉得不需要精通,但是得懂基础

你好&#xff0c;这里是网络技术联盟站&#xff0c;我是瑞哥。 Docker&#xff0c;这个字眼大家不陌生吧&#xff0c;不过作为网络工程师可能平时接触不到&#xff0c;如果在看文章的是运维人员&#xff0c;那么70%以上的运维人员都会跟Docker打交道。即使网工用不到&#xff…...

c++初级-2-引用

文章目录 引用一、引用的定义二、引用做函数参数三、引用作为返回对象四、引用的本质五、常量引用 引用 即给一个变量起别名。 一、引用的定义 int a 10;//引用int& b a;cout << "a " << a << endl;cout << "b " <&l…...

如何清理电脑内存?让电脑运行如飞!

电脑内存&#xff08;RAM&#xff09;的清理对于维持系统的流畅运行至关重要。随着使用时间的增加&#xff0c;系统内存会被各种应用程序和后台进程占用&#xff0c;导致系统响应变慢&#xff0c;甚至出现卡顿现象。通过有效地清理内存&#xff0c;可以提升电脑的性能&#xff…...

[数据集][目标检测]人员状态跑睡抽烟打电话跌倒检测数据集4943张5类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;4943 标注数量(xml文件个数)&#xff1a;4943 标注数量(txt文件个数)&#xff1a;4943 标注…...

Java8 - Stream API 处理集合数据

Java 8的Stream API提供了一种功能强大的方式来处理集合数据&#xff0c;以函数式和声明式的方式进行操作。Stream API允许您对元素集合执行操作&#xff0c;如过滤、映射和归约&#xff0c;以简洁高效的方式进行处理。 下面是Java 8 Stream API的一些关键特性和概念&#xff…...

漫步5G-A City,一份独属于上海的浪漫

作家亨利詹姆斯曾写道&#xff0c;“城市漫步&#xff0c;让我接触到了这个世界上最好的东西”。 用漫无目的地行走&#xff0c;来体验和观察一座城市&#xff0c;上海凭借丰富多元的文化特质&#xff0c;成为citywalk这种浪漫生活方式的流行地。 无论你是漫步在美术馆、画廊林…...

SpringBoot 如何处理跨域请求?你说的出几种方法?

引言&#xff1a;在现代的Web开发中&#xff0c;跨域请求&#xff08;Cross-Origin Resource Sharing&#xff0c;CORS&#xff09;是一个常见的挑战。随着前后端分离架构的流行&#xff0c;前端应用通常运行在一个与后端 API 不同的域名或端口上&#xff0c;这就导致了浏览器的…...

OV SSL证书年度成本概览:为企业安全护航的经济之选

在当今数字化时代&#xff0c;企业网站不仅是品牌展示的窗口&#xff0c;更是与客户沟通的桥梁。然而&#xff0c;随着网络威胁的不断升级&#xff0c;保护网站安全成为了企业不可忽视的任务。SSL证书&#xff0c;特别是OV SSL证书&#xff0c;因其对企业身份的严格验证&#x…...

歌尔气压计SPA06-003在无人机的创新应用

随着科技的不断进步&#xff0c;各类智能设备的功能日益强大&#xff0c;其中气压计作为一种能够测量大气压力的传感器&#xff0c;已被广泛应用于多种领域。歌尔气压计以其高精度、低功耗的特点&#xff0c;在无人机和智能手表上的应用尤为突出&#xff0c;为这两个领域的产品…...

python3多文件操作

1 介绍 有两个.py文件&#xff0c;分别为main.py和util.py&#xff0c;执行main.py时&#xff0c;调用util.py当中的函数。 main.py内容如下&#xff0c; import util if __name__ "__main__":a [3.0,4.0]length util.get_length_from_vec(a)print(f"leng…...

312. 戳气球

312. 戳气球 题目链接&#xff1a;312. 戳气球 代码如下&#xff1a; //参考链接:https://leetcode.cn/problems/burst-balloons/solutions/336390/chuo-qi-qiu-by-leetcode-solution class Solution { public:int maxCoins(vector<int>& nums) {int nnums.size()…...

深入理解C++中的锁

目录 1.基本互斥锁&#xff08;std::mutex&#xff09; 2.递归互斥锁&#xff08;std::recursive_mutex&#xff09; 3.带超时机制的互斥锁&#xff08;std::timed_mutex&#xff09; 4.带超时机制的递归互斥锁&#xff08;std::recursive_timed_mutex&#xff09; 5.共享…...

压缩pdf文件大小,压缩pdf文件大小软件哪个好

在数字化时代&#xff0c;PDF文件因其卓越的跨平台兼容性和稳定性而成为工作与学习的好帮手。然而&#xff0c;当PDF文件体积过大时&#xff0c;传输和存储便成了一项挑战。别担心&#xff0c;本文将为你揭秘如何快速压缩PDF文件&#xff0c;让你的文档轻装上路&#xff01; 压…...

难道 Java 已经过时了?

当一门技术已经存在许多年了&#xff0c;它可能会失去竞争力&#xff0c;而后黯然退场&#xff0c;默默地离开&#xff0c;这对大部分的人来说就已经算是过时了。 Java 于 1995 年正式上线&#xff0c;至今已经走过了 27 个年头&#xff0c;在众多编程技术里算是年龄比较大的语…...

华为OD机考题(​HJ32 密码截取)

前言 经过前期的数据结构和算法学习&#xff0c;开始以OD机考题作为练习题&#xff0c;继续加强下熟练程度。有需要的可以同步练习下。 描述 Catcher是MCA国的情报员&#xff0c;他工作时发现敌国会用一些对称的密码进行通信&#xff0c;比如像这些ABBA&#xff0c;ABA&…...

【高考志愿】测绘科学与技术

目录 一、专业介绍 1.1 专业概述 1.2 专业方向 1.3 课程内容 二、就业前景 三、报考注意事项 四、测绘科学与技术专业排名 五、职业规划与未来发展 高考志愿选择测绘科学与技术专业&#xff0c;对于许多有志于空间信息技术领域发展的学生来说&#xff0c;无疑是一个极具…...

SpringBoot异步接口实现 提升吞吐量

前言 Servlet 3.0之前&#xff1a;HTTP请求由单一线程处理。Servlet 3.0之后&#xff1a;支持异步处理&#xff0c;提高系统吞吐量。 SpringBoot 异步接口实现方式 AsyncContext&#xff1a;Servlet层级&#xff0c;不常用。Callable&#xff1a;使用java.util.concurrent.C…...

C语言快速学习笔记

学习网站&#xff1a;C 语言教程 | 菜鸟教程 (runoob.com)C 语言教程 | 菜鸟教程 (runoob.com)C 语言教程 | 菜鸟教程 (runoob.com) 这个网站知识完整&#xff0c;讲解清晰。 在线C语言编程工具&#xff1a;菜鸟教程在线编辑器 (runoob.com) 国外学习网站&#xff1a;C语言介…...

如何选择易用性高的项目管理软件?

随着项目管理在各行各业的广泛应用&#xff0c;选择一款易用性高的项目管理软件变得越来越重要。易用性高的软件可以帮助企业提高工作效率&#xff0c;降低管理成本&#xff0c;同时还能提升团队之间的协作能力。那么&#xff0c;如何选择一款易用性高的项目管理软件呢&#xf…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节&#xff0c;供应链协同管理在供应链上下游企业之间建立紧密的合作关系&#xff0c;通过信息共享、资源整合、业务协同等方式&#xff0c;实现供应链的全面管理和优化&#xff0c;提高供应链的效率和透明度&#xff0c;降低供应链的成…...

Opencv中的addweighted函数

一.addweighted函数作用 addweighted&#xff08;&#xff09;是OpenCV库中用于图像处理的函数&#xff0c;主要功能是将两个输入图像&#xff08;尺寸和类型相同&#xff09;按照指定的权重进行加权叠加&#xff08;图像融合&#xff09;&#xff0c;并添加一个标量值&#x…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

密码学基础——SM4算法

博客主页&#xff1a;christine-rr-CSDN博客 ​​​​专栏主页&#xff1a;密码学 &#x1f4cc; 【今日更新】&#x1f4cc; 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 ​编辑…...