Linux系统的文件权限

Linux系统权限的相关概念与理解
(xshell下进行演示)

文章目录:

1:linux系统下两种用户

  • 超级用户(root)与普通用户(非root)的理解
  • root与非root用户之间切换的指令
  • 非root用户之间进行切换的指令操作

2:linux文件权限管理

  • 文件访问者的介绍
  • 文件的类型与文件的访问权限介绍
  • 如何对文件的访问权限进行修改(两种方式)
  • 如何对文件的所属用户进行修改

3:目录文件的理解(rwx)

4:umask(权限掩码的理解)

5:粘滞位的理解


1:Linux系统下的两种用户
在我们Linux系统中,分为两种用户  一种是root用户(超级用户),另一种是非root用户(普通用户)。
而为什么会有这两种用户呢?这其实是与Linux系统的权限有关的。
在Linux系统中权限是用来限制普通用户的,对于root用户来说权限可能限制不大,换言之在root面
前权限就如同虚设。

接下来我们就来讲一讲,root与普通用户普通用户与普通用户之间如何进行切换
root->普通用户:su 普通用户 不需要任何密码
普通用户->root:su 或 su - 需要root账号的密码
如下图在xshell下演示
在这里插入图片描述
我们可以看到需要root账号的密码才能登上root


我们在来看另外一种情况 su -
在这里插入图片描述


我们在来看root->普通用户
指令 su 普通用户名
在这里插入图片描述
普通用户与普通用户之间的切换
su 要登录的普通用户 需要对方的密码


我们还需要了解一个特殊的指令 : ,sudo 指令 这个sudo会进行短暂的提权,需要使用者的密码 ,这样我们就可以不用改成root账号了。
与此同时我们既然有了sudo 这个提权的操作指令,那我们还需要root账号吗??
答案:我们肯定是需要root账号的,因为并不是所有的普通用户都能够使用sudo指令,这个指令的使用权限也需要root来进行设置,而这个设置其实是在我们系统中一个文件中。
如下图所展示的地方:
在这里插入图片描述

也就是说如果一个用户存在与这个文件中则可以使用sudo 进行提权,如果不存在则不能。
而如何增加,等我们学完vim在进行操作。


2:linux文件权限管理

我们知道在Linux系统下一切皆文件,所以对Linux系统权限的理解,我们就只需要弄懂文件的权限
概念就行了。
文件的权限使用来限制人的

文件访问者的介绍:
    我们先通过具体的列子来进行对知识点的讲解。对文件属性的查看我们要通过 ll的指令

在这里插入图片描述

在Linux系统中我们将文件的访问者分为三种角色即:拥有者,所属组和other
但是在linux系统中使用ll的指令的时候并没有显示出来other这是因为Linux规定,如果你不是文件
的拥有者,不是文件的所属组那么你就是other这个角色所以上图才没有other。

讲完了文件的三种角色之后我们就需要在想一想了,这三种角色与我们的root用户和非root用户有什么区别呢?

	我们可以这样来理解,Linux系统下的每个用户,都是用来充当上述这三种角色的,比如说张三这
	个	用户,对于张三来说既可以成为某个文件的拥有者,也可以成为某个文件的所属组或者other
	所以他们并不冲突,相反他们是互相配合的。

有了上面的理解后,对于我们来说这三种角色,对于文件的拥有者,other我们可能可以理解。但是什么是文件的所属组呢??以及为什么要存在文件的所属组呢?

我们可以假设我们一个文件只有拥有者和other这两种角色,那么当两个具有相互竞争的人来说,假如一个人是张三,一个人是李四。张三创建了一个文件,那么张三就是这个文件的拥有者,那么李四和其他人都是other,可是当有一天张三的老板需要打开这个文件,可是老板也属于other那么老板也不能进行访问,而张三如果打开了other的访问权限那么李四也可以进行访问,这样就会出现很大的问题,所以Linux系统为了解决这个问题就加上了另外的一个角色所属组,这样就能防止上述问题出现了。

所以我们可以这样理解,文件的所属组就是类似于我们生活中的分组,将谁和谁拉在一起这样可以使得在这个组中的人都可以对文件进行访问,不在这个组中就不能对文件进行访问。
所以我们需要所属组这个概念,一般而言Linux系统默认的所属组组名就为文件的拥有者名字。


文件的类型与文件的访问权限介绍

我们先来查看文件的属性(rwx)
在这里插入图片描述

其中对于我们的文件访问权限的查看,就是在第一列,而第一列的后面9个字符是用来分别表示拥有者,所属组和other的对文件的读写执行权限(rwx),我们要注意的是如果在rwx对应的位置是-字符则代表没有这个权限。

我们就用拥有者的权限来进行讲解,比如上述11-25这个目录,我们的拥有者是root,具有对文件的rwx权限,表明我们root这个用户对文件具有可读可写可执行的权利。
对于other来说没有w权限,既没有写权限。
对于第一列的字符我们将他作为表示文件类型的字符。
在Linux系统下有以下几种表示
1 - :代表该文件为普通文件,文本,源代码,图片,视频,库文件
2. d :代表该文件为目录文件
3. b :代表该文件为 块设备文件(一般为磁盘文件) 允许随机访问的文件
4. c :代表该文件为 字符设备文件(一般为键盘.显示器文件) 不允许随机访问的文件
5. p :管道文件
6. l :链接文件
7. s :socket文件
这些我们以后看到了知道就行了。

在linux系统环境下,我们不同过文件的后缀来区分文件的类型,因为由第一个字符来确定,但是这不
代表我们不给文件加后缀,加后缀有以下优点:

1.我们的一些编译工具需要,只能对特定的文件后缀编译比如gcc
2.我们人需要,这样可以增加可读性

如何对文件的权限修改(两种方式)

我们先要了解,在Linux系统中我们会进行一下简写将 user->u | group -g | other->o

  1. 使用chmod 改的角色 +(-) rwx 权限
    如下图对xshell中文件进行修改对应的权限
    在这里插入图片描述
    我们可以看到对于1.txt这个文件来说他的所属组和other只有读权限,而我们经过了chmod指令过后,最后1.txt对于所属组和other都具有了rwx权限,当然我们如果将上述的指令的+改为-那么意思是去掉对应的权限,这里就不给大家演示了。

    当然我们如果需要对所有的角色加上对应的权限我们可以这样使用指令
    chmod a+(-) rwx 文件名 如下图
    在这里插入图片描述
    如果我们需要同时对不同的访问者加上对应的权限我们可以使用,来分离。如下图
    在这里插入图片描述
    第一种方式就介绍到这里就结束了。


2.chmod 3个八进制数字 文件名

这个方式是我们可以将rwx用三个数字来表示,如果存在对应的权限那么某个特定的位置就是1如果不存在则该位为0 比如说拥有者的权限为 r-- 那么转化成我二进制数字就为1 0 0对应的八进制就为4,再比如rw- —>对应二进制1 1 0 八进制为6.

我们直接用实际列子来证明这个方法的使用
在这里插入图片描述
大家可以自行去验证
以上就是文件权限修改的两种方法的介绍了。

关于一个Linux文件可不可以执行的理解
1.先看该文件是否具有可执行的权限x
2.该文件是否真的是一个可执行的程序
这两者是缺一不可的


3:目录文件权限(rwx)的理解

Linux系统对于用户文件匹配权限的步骤:
首先先判断该用户属于那个角色
其次是直接看是否具有相对应的权限,不会进行多次匹配,使用不同角色的权限

1.通过控制变量法,我们发现进入一个目录我们需要具备该目录的x权限
2.r权限决定我们是否可以对文件属性进行查看权限
3.w权限决定我们是否可以在该文件下创建文件或者删除文件的权限
以上就是目录权限理解的结论,大家可以自行的去验证。

从这里我们也可以得出一个结论,一个文件的删除并不由是否可以对该文件读写执行所决定而是由该文件所在的目录所对应的w权限所决定的


4:权限掩码umask的理解

在讲权限掩码之前,我们就还得引入一个东西—>文件的起始权限
文件的权限就拿我们的文本文件来说,他创建的起始权限是666因为创建出来就不是为了被执行所创建的文件所以无可执行权限
目录的起始权限为777,因为目录创建下来就是为了被进入(x),可以显示该目录下的文件属性信息( r ),以及可以在该目录下创建文件与删除文件(w)


我们要知道最终我们所看到我们创建出来的文件默认权限是由:权限掩码与起始权限所决定的。

而权限掩码的规则是:从起始权限中去掉权限掩码中所含有的权限位。如下图
在这里插入图片描述

如果起始权限就为0了,而默认权限所对应的地方为1,那么啥都不会做,就为0
如果关于这个去除没有听懂的话,那么一下还有一个关于默认权限的公式:
在这里插入图片描述
我们在系统中还可以直接使用 umask 八进制数字(3个) 来设定我们的umask值


5:粘滞位的理解

在讲了上述知识点之后我们需要再来讲解一个非常重要的概念,粘滞位。
粘滞位的使用经常用于,对于指定的目录,我们要进行文件的共享。
比如说假如我们在同一个具有rwx目录下进行文件的共享,因为我们可以修改文件所对应的
权限,我们即使将rwx权限全部所去掉了,可是我们也不能防止我们的文件被删除,因为我们共享的时候对目录每个人都是具有w权限的,这样就会导致我们可以删除别人的文件,所以为了防止这一事故的发生,Linux就引入了粘滞位这一个概念。

粘滞位:是给共享目录所增加的权限,该权限具有x的权限,同时对该目录有特殊的规定,
在该目录中的文件只能由root和文件的拥有者有权进行删除

我们通过查看linux系统上默认就有的共享目录的属性:
在这里插入图片描述


本章知识点的介绍到这里就结束了,感谢大家的耐心观看!!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

openpnp - 自动换刀设置 - 使用克隆功能降低风险

文章目录 openpnp - 自动换刀设置 - 使用克隆功能降低风险概述笔记需要注意的地方将一个做好的吸嘴作为这排其他吸嘴的模板END openpnp - 自动换刀设置 - 使用克隆功能降低风险 概述 自动换刀设置时, 很危险, 动不动就撞刀. 如履薄冰啊:( 看到openpnp在自动换刀时, 有个克隆功…

【Vue】记事本

上一篇&#xff1a;Vue的指令 https://blog.csdn.net/m0_67930426/article/details/134599378?spm1001.2014.3001.5501 本篇所需指令&#xff1a; v- for v-model v-on v-show 目录 删除功能 添加功能 统计功能 清空功能 v-show 删除功能 <!DOCTYPE html> …

系列十九、Spring实例化bean的方式

一、概述 所谓实例化bean&#xff0c;大白话讲就是Spring如何把这一个个的普通的Java对象创建为Spring bean的。 二、方式 Spring中实例化bean常用的有以下四种&#xff0c;即&#xff1a; ① 构造器方式&#xff1b; ② 静态工厂方式&#xff1b; ③ 实例工厂方式&#xff1b;…

SQL JOIN 子句:合并多个表中相关行的完整指南

SQL JOIN JOIN子句用于基于它们之间的相关列合并来自两个或更多表的行。 让我们看一下“Orders”表的一部分选择&#xff1a; OrderIDCustomerIDOrderDate1030821996-09-1810309371996-09-1910310771996-09-20 然后&#xff0c;看一下“Customers”表的一部分选择&#xff…

帮管客CRM 文件上传漏洞复现

0x01 产品简介 帮管客CRM是一款集客户档案、销售记录、业务往来等功能于一体的客户管理系统。帮管客CRM客户管理系统&#xff0c;客户管理&#xff0c;从未如此简单&#xff0c;一个平台满足企业全方位的销售跟进、智能化服务管理、高效的沟通协同、图表化数据分析帮管客颠覆传…

cuda magma 构建 使用cmake构建的步骤记录

这不是群论代数软件&#xff0c;而是cuda 矩阵计算软件 1. 生成其他精度的源代码 1.1 复制编辑 make.inc cp make.inc-examples/make.inc.openblas ./make.inc 并修改其中的定义&#xff1a; OPENBLASDIR ? /opt/OpenBLAS 这需要实现安装openblas到此处。文件夹解构&…

JAVA小游戏简易版王者荣耀

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 GameFrame 运行类 package com.sxt; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;…

虹科分享 | AR世界揭秘:从二维码的起源到数据识别与位姿技术的奇妙融合!

引言&#xff1a;探索AR的神奇世界&#xff0c;我们将从二维码的诞生谈起。在这个科技的海洋中&#xff0c;二维码是如何帮助AR实现数据获取与位姿识别的呢&#xff1f;让我们一起揭开这层神秘的面纱&#xff01; 一、二维码的由来 二维码是将数据存储在图形中的技术&#xff…

王者荣耀,,,,,

第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 GameFrame 运行类 package com.sxt; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;…

【VSCode】自定义转换大小写快捷键

文章目录 VSCode 是没有可以直接转换字母大小写的快捷键的&#xff0c;但是可以通过设置去定义 点击左下角设置按钮&#xff0c;并选择键盘快捷方式 在快捷方式里面搜索写&#xff0c;就能找到&#xff1a; 选择要设置的快捷键&#xff0c;并点击左侧的号 在键盘上按住你想设置…

mysql高级知识点

一、mysql架构 连接层&#xff1a;负责接收客户端的连接请求&#xff0c;可以进行授权、认证(验证账号密码)。服务层&#xff1a;负责调用sql接口&#xff0c;对sql语法进行解析&#xff0c;对查询进行优化&#xff0c;缓存。引擎层&#xff1a;是真正进行执行sql的地方&#x…

类与对象——(1)初识对象——C++中的string

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 或许不安或许迷惑&#xff0c;但…

storyBook常见踩坑报错 和 解决

用StoryBook官网的代码&#xff0c;但报错&#xff0c;Unexpected token’<’ 在js文件中// Button.stories.js|jsx import { Button } from ‘./Button’; export default { component: Button, }; /* *&#x1f447; Render functions are a framework specific featur…

Liunx系统使用超详细(一)

目录 一、Liunx系统的认识 二、Liunx和Windows区别 三、Liunx命令提示符介绍 四、Liunx目录结构 一、Liunx系统的认识 Linux系统是一种开源的、类Unix操作系统内核的实现&#xff0c;它基于Unix的设计原理和思想&#xff0c;并在全球范围内广泛应用。以下是对Linux系统的详…

文件的写入和读取操作

题目&#xff1a; 编写一个程序&#xff0c;实现以下功能&#xff1a; 1. 创建一个新的文本文件&#xff0c;并将用户输入的数据写入文件中。 2. 打开已存在的文本文件&#xff0c;并将其中的数据显示在屏幕上。 #include <stdio.h> #include <stdlib.h> void wri…

一文讲明SpringMVC 【爆肝整理一万五千字】

我 | 在这里 &#x1f575;️ 读书 | 长沙 ⭐软件工程 ⭐ 本科 &#x1f3e0; 工作 | 广州 ⭐ Java 全栈开发&#xff08;软件工程师&#xff09; &#x1f383; 爱好 | 研究技术、旅游、阅读、运动、喜欢流行歌曲 ✈️已经旅游的地点 | 新疆-乌鲁木齐、新疆-吐鲁番、广东-广州…

【JVM系列】- 穿插·对象的实例化与直接内存

对象的实例化与直接内存 &#x1f604;生命不息&#xff0c;写作不止 &#x1f525; 继续踏上学习之路&#xff0c;学之分享笔记 &#x1f44a; 总有一天我也能像各位大佬一样 &#x1f31d;分享学习心得&#xff0c;欢迎指正&#xff0c;大家一起学习成长&#xff01; 文章目录…

Java多线程二-线程安全

1、线程安全问题 多个线程&#xff0c;同时操作同一个共享资源的时候&#xff0c;可能会出现业务安全问题。 2、实例&#xff1a;取钱的线程安全问题 2.1、场景 小明和小红是夫妻&#xff0c;他们有个共同账户&#xff0c;余额是十万元&#xff0c;如果两人同时取钱并且各自取…

Nodejs 第二十章(fs 上)

概述 在 Node.js 中&#xff0c;fs 模块是文件系统模块&#xff08;File System module&#xff09;的缩写&#xff0c;它提供了与文件系统进行交互的各种功能。通过 fs 模块&#xff0c;你可以执行诸如读取文件、写入文件、更改文件权限、创建目录等操作&#xff0c;Node.js …

Mindomo Desktop for Mac免费思维导图软件,助您高效整理思维

思维导图是一种强大的工具&#xff0c;可以帮助我们整理思维、提高记忆力、激发创造力。而Mindomo Desktop for Mac作为一款免费的思维导图软件&#xff0c;能够帮助我们更高效地进行思维整理和项目管理。在本文中&#xff0c;我们将介绍Mindomo Desktop for Mac的功能和优势&a…