Linux权限(上)

目录

shell命令以及运行原理

Linux权限

Linux中的用户类别

文件类型

文件的访问权限 


在讲权限之前,我们得先了解一下命令的执行原理。

shell命令以及运行原理

我们每次在打开Xshell执行相关命令时,通常会看到这样一段代码:

[yjd@hecs-87060 ~]$ 

这段代码是什么呢?,要知道这段代码的含义,我们就得先搞懂Linux的本质。

Linux是一个操作系统,实质上这个操作系统是由操作系统内核(kernel)和外壳程序(shell)组成的,对于一般的用户,是不能直接访问操作系统内核的,我们必须通过外壳程序,即通过shell来实现与操作系统内核进行交流。而shell的具体体现就是命令行解释器,即就是我们上述的那段代码,我们这段代码后写上指令,此时这段代码就可以将命令传给操作系统内核,操作系统内核进一步去解析这些命令,解析完成之后,操作系统内核又把解析的结果传给命令行行解释器,最终命令行解释器把这些结果传给了用户。

综上来看,shell就像是一个中介,方便用户与操作系统内核进行交流。为什么要引入这个中介?其实最主要的原因就是为了保护操作系统内核。

Linux权限

 权限:权限=人+事物的属性

解释:单纯的概念我们可能不太好理解,我们可以想象生活中的这样一个场景,比如桌子上有一部手机,这个手机的属性是可以被使用,但是这个手机要被使用必须有人的参与,人参与之后,这个人就有了这部手机的使用权限。所以权限一定是人和事物的属性的总和。简单来说:权限就是一件事情是否允许被特定的人做

 在Linux中有两类用户:

1.root用户:具有非常高的权限。

2.root用户所创建的普通用户:受权限的闲置,只具有一般的权限。

在Xshell中普通用户如何切换至root用户呢?

su -:从普通用户切换至root用户。

exit/su - 用户名:从root用户直接切换到普通用户。

6b36d70ecf204b3dadd64a05bf2c3834.png

6e096d344a8642c4b3022f74c1e9e7d4.png

Linux中的用户类别

在Linux中总共有三种用户类别:

1.拥有者 2.所属组 3.其他人

举一个简单的例子:

     老师在教师给学生上课,提出了一个很难的问题,让全班分小组讨论,根据解决问题的时间和方法最终决定获胜的小组并给予现金奖励。那么此时每个小组之间就是很明显的竞争关系了。假如说分成了A和B两个小组,A组中的小名提出了一个很好的思路,那么此时他的这个思路,就只允许A小组内的所有成员去进行访问,不允许B小组的人员进行访问。此时小明就是提出的想法的拥有者,A就是想法的所属组,具有了想法的访问权限。而B组就是其他,对想法没有访问权限。

      在Linux中,我们未来可能也会多组进行代码的开发,也会遇到上述类似的场景,所以,在Linux中存在这三种用户类别,是很有必要的。 

我们可以通过ll指令查看文件的拥有者和所属组: 

f6e5fbcc4b414b13aac1ee425c170844.png

绿色框标注的第一列为当前文件的拥有者,第二列为当前文件的所属组,其他则没有显示,因为除过所属组都是其他。

文件类型

在linux中,有7种文件类型:

d:文件夹

-:普通文件(文本文件,各种静态库,可执行程序等等)

l:软链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件(用于通讯)

c:字符设备文件(例如屏幕等串口设备)

b54f0c97e1614f11b937c93ef4727a58.png

 如图:文件属性的第一列字母就代表了文件的类型,Linux和windows不一样,windows中我们经常以后缀名区分文件类型,但是在Linux中我们是以文件属性开头的字母辨别文件的属性。

文件的访问权限 

在Linux中,文件也是具有相关的访问权限的。

r:读权限,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

w:写权限,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

x:执行权限。

-:表示没有相关的权限,对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

80e86c5e6cd6481283a9a8b37827bb15.png

 在所有属性中,第一大列除了第一列的文件的类型之外,还有九个字符,这9个字符分为了三组,分别代表了拥有者,所属组,其他人这三个用户类别对文件的访问权限,我们就拿p2这个目录举例:

03d2abdd483247729f625c804b012407.png

拥有者的权限为rwx:拥有者对该目录可读可写可执行

所属组的权限为rwx:所属组对该目录可读可写可执行

其他人的权限为r-x:其他人对该目录可读不可写可执行

以上便是权限相关的一些基本内容,至于如何修改访问者的权限,以及相关权限更改的操作我们在权限下期会为大家讲解。

本期内容到此结束^_^

 

 

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

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

相关文章

宏基因组学Metagenome-磷循环Pcycle功能基因分析-从分析过程到代码及结果演示-超详细保姆级流程

大背景介绍 生信分析,凡事先看论文,有了论文就有了参考,后续分析就有底了,直接上硬菜开干: PCycDB: a comprehensive and accurate database for fast analysis of phosphorus cycling genes - PubMed 数据库及部分分析代码github库: GitHub - ZengJiaxiong/Phospho…

AUTOSAR从入门到精通-诊断事件管理模块(DEM)(五)

目录 DEM基本架构 DEM功能描述 故障的Report 故障的Debounce DTCStausByte 故障存储

算法往年题复习(一)| 看不懂来 Gank 我

文章目录 数组逆序差的最大值题目描述算法思路与过程实现代码时间复杂度类似题型 将 K 个数组元素有序输出题目描述算法思路与过程实现代码时间复杂度类似题型 二叉搜索树题目描述算法思路与过程实现代码时间复杂度涉及知识点 天然气输气管道网络题目描述算法思路与过程实现代码…

【TB作品】51单片机,具有报时报温功能的电子钟

2.具有报时报温功能的电子钟 一、功能要求: 1.显示室温。 2.具有实时时间显示。 3.具有实时年月日显示和校对功能。 4.具有整点语音播报时间和温度功能。 5.定闹功能,闹钟音乐可选。 6.操作简单、界面友好。 二、设计建议: 1.单片机自选(C51、STM32或其他单片机)。 2.时钟日历芯…

H266/VVC标准的编码结构介绍

概述 CVS: H266的编码码流包含一个或多个编码视频序列(Coded Video Swquence,CVS),每个CVS以帧内随机接入点(Intra Random Access Point, IRAP)或逐渐解码刷新(Gradual …

结构型设计模式(二)装饰器模式 适配器模式

装饰器模式 Decorator 1、什么是装饰器模式 装饰器模式允许通过将对象放入特殊的包装对象中来为原始对象添加新的行为。这种模式是一种结构型模式,因为它通过改变结构来改变被装饰对象的行为。它涉及到一组装饰器类,这些类用来包装具体组件。 2、为什…

HTML5面试题

HTML5面试题 什么是HTML5?它与HTML4有何不同之处? HTML5是HTML的第五个主要版本,它引入了许多新的语义化元素、API和功能,以改进网页的结构、样式、交互和多媒体体验。 HTML5与HTML4的不同之处包括: 引入了一系列新的语…

亚马逊云科技发布企业生成式AI助手Amazon Q,助力企业迈向智能化时代

(声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 亚马逊云科技开发者社区、知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道) 一、前言 随着人工智能技术的快速发展和广泛应用,我们…

使用OpenSSL生成PKCS#12格式的证书和私钥

要使用OpenSSL生成PKCS12格式的证书和私钥,可以按照以下步骤进行操作: 1. 安装OpenSSL 首先,确保已在计算机上安装了OpenSSL。可以从OpenSSL官方网站(https://www.openssl.org/)下载并安装适用于您的操作系统的版本。…

04_Web框架之Django一

Web框架之Django一 学习目标和内容 1、能够描述Django的作用 2、能够使用Django创建应用 3、能够使用GET和POST请求方式进行传参 4、能够使用Django的函数式方法定义视图 5、能够进行Django的配置文件修改 6、能够基本使用Django的路由定义 一、Django相关介绍 1、什么是Djan…

ArrayList vs. LinkedList: Java集合框架的比较与应用

目录 1. ArrayList简介 2. LinkedList简介 3. 内部实现方式 3.1 ArrayList的内部实现 3.2 LinkedList的内部实现 4. 时间复杂度比较 4.1 插入和删除操作 4.2 随机访问操作 5. 内存消耗 5.1 ArrayList的内存消耗 5.2 LinkedList的内存消耗 6. 适用场景 6.1 ArrayLi…

C#数据结构

C#数据结构 常见结构 1、集合 2、线性结构 3、树形结构 4、图形结构 Array/ArrayList/List 特点:内存上连续存储,节约空间,可以索引访问,读取快,增删慢 using System; namespace ArrayApplication {class MyAr…

Python:Jupyter

Jupyter是一个开源的交互式计算环境,由Fernando Perez和Brian Granger于2014年创立。它提供了一种方便的方式来展示、共享和探索数据,并且可以与多种编程语言和数据格式进行交互。Jupyter的历史可以追溯到2001年,当时Fernando Perez正在使用P…

将mjpg格式数转化成opencv Mat格式

该博客可以解决如下两个问题: 1、将mjpg格式数据转化成opencv Mat格式 2、v4l2_buffer 格式获取的mjpg格式数据转换成Mat格式。 要将 MJPEG 格式的数据转换为 OpenCV 的 Mat 格式,您可以使用 imdecode 函数。imdecode 函数可以将图像数据解码为 Mat 对象…

基于SSM的图书馆预约座位系统的设计与实现(部署+源码+LW)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于SSM的图书馆预约座位…

js数组方法笔记

1.push() 在数组最后一位添加一个或多个元素,返回值为新的数组长度 var arr [1, 2, "c"];var rel arr.push("A", "B");console.log(arr); // [1, 2, "c", "A", "B"]console.log(rel); // 5 (数组长…

为什么选择计算机?大数据时代学习计算机的价值探讨

还记得当初自己为什么选择计算机? 计算机是在90年代兴起的专业,那时候的年轻人有驾照、懂外语、懂计算机是很时髦的事情! 当初你问我为什么选择计算机,我笑着回答:“因为我梦想成为神奇的码农!我想像编织魔法一样编写程序,创造出炫酷的虚拟世界!”谁知道,我刚入门的…

如何安装docker

安装Docker的步骤取决于您使用的操作系统。以下是常见操作系统上安装Docker的基本步骤: 对于Linux: 更新软件包索引: sudo apt-get update安装允许apt通过HTTPS使用仓库的包: sudo apt-get install apt-transport-https ca-certificates cur…

OpenCV开发:MacOS源码编译opencv,生成支持java、python、c++各版本依赖库

OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它为开发者提供了丰富的工具和函数,用于处理图像和视频数据,以及执行各种计算机视觉任务。 以下是 OpenCV 的一些主要特点和功能&#xff…

Java实现订单超时未支付自动取消的8种方法总结

Java实现订单超时未支付自动取消的8种方法总结 定时轮询 数据库定时轮询方式,实现思路比较简单。启动一个定时任务,每隔一定时间扫描订单表,查询到超时订单就取消。优点:实现简单。缺点:轮询时间间隔不好确定&#x…