【Linux】Shell及Linux权限

Shell

Shell的定义

  • Shell最简单的定义是:命令行解释器。

  • Shell的主要任务:1. 将使用者的命令翻译给核心进行处理。2.将核心的处理结果翻译给使用者

为什么要有Shell?

  • 使用者和内核的关系就相当于两个完全陌生的外国人之间的关系,他们要进行交流必须要有一个翻译,这个翻译便是Shell,否则用户看不懂内核的处理结果,内核看不懂用户的操作

  • 我们使用Windows的时候主要是通过Windows的GUI来进行对Windows的操作,我们能够通过点击完成对Windows的操作(如打开一个游戏我们只需要双击它),GUI对Windows的作用类似于Shell对Linux,不同的是GUI是将我们的动作翻译给内核;而Shell是将我们的命令翻译给内核

Linux的权限

Linux中权限的概念

  • 在Linux眼里,用户分为两类:1. 普通用户。2.超级用户(root)

两种用户身份转换的命令

  • 命令:su【用户名】

  • 从root用户切换成普通用户user:su user

  • 从普通用户切换成root:su root

Linux的权限管理

  • 在Linux中一切皆文件,所以对Linux的权限管理便也是对文件进行管理。管理什么呢?管的是不同身份的人对文件的操作权限

对使用者身份分类

  • 文件和文件目录的所有者:u——User

  • 文件和文件目录的所有者所在组的用户:g——Group

  • 其他用户:o——Other

  • 举个栗子:对于一辆车,你本人是它的所有者,你的家人是你所在组的用户,周围的邻居便是其他人。

文件类型和访问权限

  • 由图可知,文件前面有很多字符(红色方框),这些字符意思是什么呢?

  • 这其实就是文件的类型和访问权限,概念图如下

  • 红框后面的字符是什么意思呢?分别是连接数、所属用户、所属用户组、文件大小、文件最新修改日期、文件名

文件类型
  • d:文件夹

  • -:普通文件

  • l:软连接(类似于Windows的快捷方式)

  • b:块设备文件(如:硬盘光驱)

  • p:管道文件

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

  • s:套接口文件

  • Linux中不依靠文件后缀来区分文件类型,但不代表不用后缀,一方面是因为Linux上的软件会依靠后缀来判断文件类型,另一方面是给人看的。

基本权限
  • 读(r):对于文件来说,具有读取文件的权限;对于目录来说也具有浏览该目录信息的权限

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

  • 执行(x):对于文件来说,具有执行文件的权限;对于目录来说,具有进入目录的权限

  • -:表示目录不具有该项权限

文件权限值的表示方法

  • 三个二进制位中,第一个代表着读权限、第二个代表着写权限、第三个代表着可执行权限,所以其8进制数值表示就是将三个二进制位转成八进制数字QWQ

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

设置文件访问权限的命令
  • chmod:chmod [参数] 权限 文件名

  • 常用选项:R——递归修改目录文件的权限(只有文件的拥有者和root才有资格改变文件的权限)

chmod命令权限值的格式
  • +:向权限范围增加权限代号所表示的权限

  • -:向权限范围取消权限代号所表示的权限

  • =:向权限范围赋予权限代号所表示的权限

用户符号
  • u: 拥有者

  • g:拥有着同组

  • o:其他用户

  • a:所有用户

实例
  • 第一种方法:使用用户符号+(操作)+权限符号+文件名

  • 第二种方法:使用八进制数字+文件名

修改文件的拥有者
  • chown:chown 【参数】 用户名 文件名

修改文件或目录的所属组
  • chgrp【参数】用户组名 文件名

  • 常用选项:-R递归修改文件或目录的所属组

查看和修改文件掩码
  • umask:umask 权限值

  • 新建文件夹默认权限=0666

  • 新建目录默认权限=0777

  • 实际权限=起始权限&(~umask)

  • 超级用户的默认权限掩码是0011,普通用户的是0002

file指令
  • 功能说明:辨识文件类型

  • file:file【选项】文件或目录

  • 常用选项

  • -c:详细显示指令执行过程,便于排错或分析程序执行的的情形

  • -z:尝试去解读压缩文件的内容。

目录的权限

  • 可执行权限:如果目录没有可执行权限,则无法进入到目录当中。

  • 可读权限:如果目录没有可读权限,则无法使用ls等明年来查看目录中的文件内容。

  • 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。 但这样会导致一个问题,那就是只要用户具有了目录的写权限,就可以在目录中删除和创建文件,而不论这个用户是否有这个文件的写权限。为了解决这个问题,Linux引入了粘滞位的概念

粘滞位
  • 使用chmod+t来给目录设置

  • 被设置成粘滞位的目录只能有三种用户删除:1.超级管理员(root)2.该目录的所有者3.该文件的所有者

关于目录权限的总结
  • 目录的可执行权限表示你是否可以进入该目录(即使你有目录的读权限,也无法看到目录中的内容)

  • 有可执行权限却没有读权限,此时你可以进入目录,但无法使用ls等命令读取目录下的文档

总结

  • 介绍了shell的定义合作用

  • 介绍了Linux中权限的概念及其作用

  • 介绍了权限管理的相关命令的使用

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

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

相关文章

农场管理小程序|基于微信小程序的农场管理系统设计与实现(源码+数据库+文档)

农场管理小程序目录 目录 基于微信小程序的农场管理系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1、用户信息管理 2、农场信息管理 3、公告信息管理 4、论坛信息管理 四、数据库设计 五、核心代码 七、最新计算机毕设选题推荐 八、源码获取&#x…

Clion开发STM32之printf的缓冲区验证方式

前言 clion开发stm32时,涉及到printf函数的重写,一般我们重写__io_putchar函数经发现printf函数在没有加换行符时,数据不会立刻通过串口发送数据,而是等到1024字节之后发送数据 测试 主程序 现象 debug调试 不加换行的情况 总…

维修家用蓝宝石脱毛仪

今天收到客户寄过来的一款家用的蓝宝石脱毛仪,如下图所示 看这个做工,就是ulike的高仿产品。 客户反馈打光没有痛感,估计是灯管坏了,或者主板的驱动管坏。

【Python】成功解决ModuleNotFoundError: No module named ‘seaborn’

【Python】成功解决ModuleNotFoundError: No module named ‘seaborn’ 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 …

Vue.js计算属性:实现数据驱动的利器

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

最全NVIDIA Jetson开发板参数配置和购买指南

NVIDIA开发的GPU不仅在电脑显卡领域占据大量份额,在嵌入式NVIDIA的Jeston系列开发板也近乎是领先的存在,特别是NVIDIA Jeston系列开发板在算力和成本的平衡上都要优于其他厂家,性价比很高,设备体积小。本博文旨在给采购NVIDIA Jes…

基于亚马逊云EC2+Docker搭建nextcloud私有化云盘

亚马逊EC2云服务器(Elastic Compute Cloud)是亚马逊AWS(Amazon Web Services)提供的一种云计算服务。EC2代表弹性计算云,它允许用户租用虚拟计算资源,包括CPU、内存、存储和网络带宽,以满足计算…

React-Mock数据

1.概念 说明:React中使用Mock数据主要是为了模拟后端接口和数据,以便前端开发可以在没有实际后端支持的情况下进行。 2.实现步骤 2.1安装 npm i -D json-server 2.2准备json文件 {"list":[{"name":"李四","age&q…

RabbitMQ - 02 - 基本消息模型

目录 部署demo项目 什么是基本消息模型 实现基本消息模型 部署demo项目 首先配置好一个mq的练习demo,并配置好相关依赖 链接:https://pan.baidu.com/s/1oXAqgoz9Y_5V7YxC_rLa-Q?pwdv2sg 提取码:v2sg 如图 父xml文件已经配置好了 AMQP依赖了 什么…

Java设计模式:深入装饰器模式的三种写法(六)

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在软件设计中,装饰器模式是一种结构型设计模式,它允许用户在不改变对象结构的情况下,动态地给…

如何使用固定公网地址SFTP远程传输文件至安卓Termux本地目录?

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP(SSH File Transfer Protocol)是一种基于SSH(Secure Shell)安全协议的文件传输协议。与FTP协议相比,SFTP使用了…

0103n阶行列式-行列式-线性代数

文章目录 一 n阶行列式二 三阶行列式三 特殊行列式结语 一 n阶行列式 ∣ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋯ ⋯ ⋯ ⋯ a n 1 a n 2 ⋯ a n n ∣ \begin{vmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&\cdots&a_{2n}\\\cdots&\cdots…