【Linux】权限篇(二)

news2025/1/23 9:16:15

权限目录

  • 1. 前言
  • 2. 权限
    • 2.1 修改权限
    • 2.2 有无权限的对比
    • 2.3 另外一个修改权限的方法
      • 2.3.1 更改用户角色
      • 2.3.2 修改文件权限属性
  • 3. 第一个属性列
  • 4. 目录权限
  • 5. 默认权限

1. 前言

在之前的一篇博客中分享了关于权限的一些知识,这次紧接上次的进行,有需要了解上次的可以点这个链接: link。
话不多说,继续开始权限篇。

2. 权限

2.1 修改权限

我们需要先知道,一个文件的权限,谁能修改?
一般来说有两个:一个是文件的拥有者,另外一个是root。

要修改文件的权限需要一个命令chmod
举个例子:将a.txt中拥有者的权限中,去掉r。
我们来看一下:

chmod u-r a.txt

在这里插入图片描述
也可以同时去掉多个权限,比如:将b.txt中拥有者的rw都去掉
在这里插入图片描述

可以同时去掉,当然也可以同时加上:
将a.txt中拥有者的rwx都加上:
在这里插入图片描述
这里拥有者u表示,所属组g表示,other用o表示。也可以全部都同时加减全限,此时用all

来看一个所属组的例子:
去掉a.txt中所属组r的权限:

chmod g-r a.txt

在这里插入图片描述

如果想同时操作多个对象,也是一样的,举个例子:将a.txt中拥有者去掉r,所属组去掉w。

chmod u-r,g-w a.txt

在这里插入图片描述
所以我们可以更改一个人的一个权限,一个人的多个权限,多个人的一个权限,多个人的多个权限,不过组合时用逗号做分离。

如果给所有人都加上同一个权限,可以直接用all。
举个例子:将b.txt中所有人都加上w。

chmod a+w b.txt

在这里插入图片描述
总之:
在这里插入图片描述
u,g,o位置可以随便写,但不建议。

2.2 有无权限的对比

用普通账号创建一个文件t.txt
在这里插入图片描述
去掉文件的所有权限后,执行读文件和向文件写入,发现都不行。
在这里插入图片描述

对于普通用户,自身要受到对应权限的约束,即使这个文件是直接的。


当把t.txt中所有的权限全部去掉之后,root还是想写入就能写,想读就能读。
在这里插入图片描述
root账号不受权限的约束。

当把账号切换成普通用户时,属于other,没有读写权限,我们发现不能读写t.txt。

在这里插入图片描述
所以说普通用户是受到权限的约束的。

总之:权限存在的意义就是保证普通用户的文件的一般安全性。


在身份识别的时候,只识别一次。

更改文件的拥有者,先切换到root账号下。
把文件的拥有者改为root

chown root t.txt

在这里插入图片描述
给所属组加上rw权限
在这里插入图片描述
当zxctscl不是拥有者时,自动匹配到后面的所属组。
发现所属组仍然可以读写。
在这里插入图片描述
把文件的所属组也改为root

 chgrp root t.txt

在这里插入图片描述
切换为普通账号时,发现不能读写了:
在这里插入图片描述

给other加上rw权限

chmod o+rw t.txt

在这里插入图片描述
这时使用普通账户就能继续进行读写。
在这里插入图片描述
所以说:访问一个文件时,得先判定相对于这个文件来说是拥有者、所属组还是other,然后再在这个33为一组特定的权限列表里,进行权限识别,然后才能决定到底能不能访问这个文件。

2.3 另外一个修改权限的方法

2.3.1 更改用户角色

用普通账户新建一个文件file.txt
在这里插入图片描述
想把文件的拥有者改为rjjjcph,但是不被允许:
在这里插入图片描述
所以说在把文件给别人时候,可能权限不允许,但是又要把文件给别人时,如果是普通账户就强制给,加上sudo。而root账号不需要加。

sudo chown rjjjcph file.txt

在这里插入图片描述
把指令进行提权,把文件给别人是强制给的。

把所属组也改为rjjjcph:
在这里插入图片描述
那么怎么改回去呢?
直接sudo chown

sudo chown zxctscl:zxctscl file.txt

在这里插入图片描述

也可以将拥有者改为zxctscl,将所属组改为root

sudo chown zxctscl:root file.txt

在这里插入图片描述
那么为什么不需要修改other呢?
但修改了拥有者和所属组,那么other自然也就改变了。

2.3.2 修改文件权限属性

在之前就谈到:
在这里插入图片描述
有就对应1,没有就对应0。
在这里插入图片描述
所以对于a.txt中的
拥有者: 110 -> 6
所属组:110 -> 6
other:100 -> 4
用8进制表示就是664

所以可以用8进制来表示权限。
举个例子:把所有人的所有权限都加上

chmod 777 a.txt

在这里插入图片描述
只想保留u和g的rw就是660:

chmod 660 a.txt

在这里插入图片描述
总之第二种修改文件权限属性的方法就是

chmod 八进制 filename

3. 第一个属性列

在这里插入图片描述
在window中是通过文件的后缀来判断文件类型。
Linux并不是通过文件后缀来判断的,那么它是怎么区别的呢?
通过第一个属性列来区分。

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

常见的就是-和d.
在这里插入图片描述
mkdir创建的目录,就是以d开头。

磁盘:

在这里插入图片描述
显示器就是字符设备:

在这里插入图片描述


在这里插入图片描述
Linux系统不以文件后缀作为区分文件类型,但并不是代表gcc不需要。
所以说Linux!=gcc
也就是说Linux不区分文件类型,但是Linux上面的工具可能会区分。
所以我们可以对Linux的文件使用后缀。

4. 目录权限

如果我们进入一个目录,那么需要什么权限呢?
在这里插入图片描述
先去掉拥有者目录的r,结果显示能进入目录:
所以进入一个目录与r无关
在这里插入图片描述
但是不能查看指定目录内的信息
在这里插入图片描述


加上r,去掉w,看看能不能进入一个目录?

在这里插入图片描述

发现是可以进入目录的。
在这里插入图片描述
但是不能创建一个文件。
在这里插入图片描述


加上r,去掉w,看看能不能进入一个目录?
在这里插入图片描述
发现不能进入目录了。

总之:
目录的r权限:用户能否查看指定目录内的信息。
目录的w权限:决定用户是否能在指定目录内新建、修改、删除文件。
目录的x权限:决定用户能否进入一个目录

5. 默认权限

在Linux创建文件的时候,为什么好像有默认权限?为什么就是我们所看到的这样?
在这里插入图片描述
创建普通文件时,起始权限是:0666,去掉x
创建目录文件时,起始权限是:0777,包含x

我们使用umask来看看默认值,不同的平台可能会有不同,这个是正常的。

在这里插入图片描述
这个默认值代表创建文件时,要从起始权限中,过滤掉。

我们也可以修改默认值:
在这里插入图片描述
此时新的文件权限默认权限就改变了。
在这里插入图片描述

来计算一下普通文件,显示的权限怎么来的:
先将umask按位取反,在将666与取反之后的进行按位与,最后得到的就是664,刚好就是rw-r–r–
在这里插入图片描述
在这里插入图片描述

有错误请指出,大家一起进步吧!

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

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

相关文章

中国数字化进程简史(1980-2022)之二基础网络雏形

20世纪80年代数字化政策扶持信息化技术基础研究,一大批科研成果在90年代开始市场转化,随着中国大陆向外向型经济转型,1993年3月12日朱镕基副总理主持会议部署建设国家公用经济信息网为起点,拉开了一系列“金”字号工程规划建设的序…

LLM漫谈(一)| LLM可以取代数据分析师吗?

我想,在过去的一年里,我们每个人都不止一次想知道ChatGPT是否(或者更确切地说,何时)能够取代你的工作。 我们有一个共识,即Generative AI最近的突破将极大地影响我们每个人生活和工作。然而,我们…

使用OpenCV4实现工业缺陷检测的六种方法

目录 1 机器视觉2 缺陷检测3 工业上常见缺陷检测方法 1 机器视觉 机器视觉是使用各种工业相机,结合传感器跟电气信号实现替代传统人工,完成对象识别、计数、测量、缺陷检测、引导定位与抓取等任务。其中工业品的缺陷检测极大的依赖人工完成,…

DPDK单步跟踪(3)-如何利用visual studio 2019和visual gdb来单步调试dpdk

准备工作 因为时间的关系,我想到哪说到哪,可能没那么高的完成度。 但其实有心的人,看到这个标题,就关了本文自己能做了。 why和how to build debug version DPDK,见前两篇。这里我们准备开始。 首先,你有一台linux机…

【游戏篇】Scratch之饥饿的鱼

【作品展示】饥饿的鱼 操作:点击小绿旗,按下键盘方向或者利用鼠标移动,躲避大鱼的同时还要想办法吃到小鱼。

SecureCRT连接vmware虚拟机的centos系统配置

软件版本:VMware10.0.3,centos 7,securecrt 8.7.2 1,虚拟网络编辑器选择桥接模式, 2,如果不小心删除网络,centos关机状态下,选择恢复默认设置。 3,进入linux系统&#…

DRF之引入

目录 一、web应用模式 【1】前后端混合开发 【2】前后端分离 二、API接口 三、接口测试工具:Postman 四、RESTful API规范 【1】什么是RESTful 【2】RESTful API的规范 2.1 数据的安全保障 2.2 接口特征表现 2.3 多数据版本共存 2.4 数据即是资源&#…

助力硬件测试工程师之EMC项目测试。

1:更新该系列的目的 接下来的一个月内,将更新硬件测试工程师的其中测试项目--EMC项目,后续将会出安规等项目,助力测试工程师的学习。 2:如何高效率的展现项目的基础以及一些细节知识点 通过思维导图以及标准的规定进行…

【ubuntu 22.04】安装中文版系统、中文语言包和中文输入法

在系统安装中的键盘布局选择时,选择Chinese - Chinese,此时会自动安装所有的中文语言包和ibus中文输入法系统安装成功重启后,点击设置 - 区域和语言 - 管理已安装的语言 * 根据提示安装更新后,将汉语(中国)…

蚂蚁集团5大开源项目获开放原子 “2023快速成长开源项目”

12月16日,在开放原子开源基金会主办的“2023开放原子开发者大会”上,蚂蚁集团主导开源的图数据库TuGraph、时序数据库CeresDB、隐私计算框架隐语SecretFlow、前端框架OpenSumi、数据域大模型开源框架DB-GPT入选“2023快速成长开源项目”。 (图…

simulink代码生成(一)——环境搭建

一、安装C2000的嵌入式环境; 点击matlab附加功能, 然后搜索C2000,安装嵌入式硬件支持包;点击安装即可;(目前还不知道破解版的怎么操作,目前我用的是正版的这样,完全破解的可能操作…

LeetCode刷题--- 目标和

个人主页:元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 http://t.csdnimg.cn/6AbpV 数据结构与算法 http://t.csdnimg.cn/hKh2l 前言:这个专栏主要讲述递归递归、搜…

常用单片机认识

单片机有哪些类型: 51单片机 AVR 单片机 MSP430 STM8 STM32 DSP Linux FPGA

pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称及pip安装

问题原因 通常出现这种情况是因为cmd(终端)无法识别pip指令,环境变量中缺失pip程序路径,因此需要手动将pip所在路径添加到环境变量 确保环境中包含pip 通常情况下,配置的环境中都会默认包含pip,本文采用…

STM32的以太网外设+PHY(LAN8720)使用详解(6):以太网数据接收及发送

0 工具准备 1.野火 stm32f407霸天虎开发板 2.LAN8720数据手册 3.STM32F4xx中文参考手册1 以太网数据接收及发送 1.1 以太网数据接收(轮询) 1.1.1 检查是否接收到一帧完整报文 使用轮询的方式接收以太网数据是一种简单但是效率低下的方法,…

(十七)Flask之大型项目目录结构示例【二扣蓝图】

大型项目目录结构: 问题引入: 在上篇文章讲蓝图的时候我给了一个demo项目,其中templates和static都各自只有一个,这就意味着所有app的模板和静态文件都放在了一起,如果项目比较大的话,这就非常乱&#xf…

力扣面试经典题之二叉树

104. 二叉树的最大深度 简单 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入&#xf…

vp与vs联合开发-网口通信(socket)

Socket通信是一种在网络中进行进程间通信的机制。它使用了一种称为套接字(Socket)的编程接口,通过该接口可以创建、连接、发送和接收数据等操作。 Socket通信中,有两个主要的角色:服务器和客户端。服务器负责监听指定…

【单调栈】LeetCode:2818操作使得分最大

作者推荐 map|动态规划|单调栈|LeetCode975:奇偶跳 涉及知识点 单调栈 题目 给你一个长度为 n 的正整数数组 nums 和一个整数 k 。 一开始,你的分数为 1 。你可以进行以下操作至多 k 次,目标是使你的分数最大: 选择一个之前没有选过的 非…

基于Springboot的酒店管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的酒店管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…