【Linux】权限篇(二)

权限目录

  • 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.rhkb.cn/news/223209.html

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

相关文章

《A++ 敏捷开发》-1 如何改善

1 如何改善 敏捷开发过程改进案例 5月 A公司一直专门为某电信公司提供针对客服、线上播放等业务。 张工是公司的中层管理者,管理好几个开发团队,有5位项目经理向他汇报。 他听说老同学的团队都开始用敏捷开发,很感兴趣,便参加了…

mysql SQL执行超时问题

show variables like max_execution_time 使用这个命令查看了,没有设置sql执行超时时间,那么大概率问题就出在阿里的Druid数据库连接池出了问题 尝试着socketTimeout由60000毫秒改成10000毫秒,果然执行了十几秒就超时报错了 socketTime…

【雷达原理】雷达测速原理及实现方法

一、雷达测速原理 1.1 多普勒频率 当目标和雷达之间存在相对运动时,若雷达发射信号的工作频率为,则接收信号的频率为,其中为多普勒频率。将这种由于目标相对于辐射源运动而导致回波信号的频率发生变化的现象称为多普勒效应。 如图1-1所示&a…

IDEA的facets和artifacts

在软件开发领域,IDEA 是指 JetBrains 公司的 IntelliJ IDEA,是一款流行的集成开发环境(Integrated Development Environment)。在 IntelliJ IDEA 中,"facets" 和 "artifacts" 是两个概念&#xff…

Qt通用属性工具:随心定义,随时可见(一)

一、开胃菜&#xff0c;没图我说个DIAO 先不BB&#xff0c;给大家上个效果图展示下&#xff1a; 上图我们也没干啥&#xff0c;几行代码&#xff1a; #include "widget.h" #include <QApplication> #include <QObject> #include "QtPropertyEdit…

攻防世界——game 游戏

下载下来是一个exe文件&#xff0c;可以用IDA打开 我们先运行一下 这是属于第二种类型&#xff0c;完成一个操作后给你flag 这种题我更倾向于动调直接得到flag 我们查壳 没有保护壳&#xff0c;直接32打开 进入字符串界面&#xff0c;找到显示的那部分 int __cdecl main_0(…

汽车级EEPROM 存储器 M24C64-DRMN3TP/K是电可擦除可编程只读存储器?它的功能特性有哪些?

M24C64-DRMN3TP/K是一款64 Kbit串行EEPROM汽车级设备&#xff0c;工作温度高达125C。符合汽车标准AEC-Q100 1级规定的极高可靠性。 该设备可通过一个高达1MHz的简单串行I2C兼容接口访问。 存储器阵列基于先进的真EEPROM技术&#xff08;电可擦除可编程存储器&#xff09;。M2…

【三维生成与重建】ZeroRF:Zero Pretraining的快速稀疏视图360°重建

系列文章目录 题目&#xff1a;ZeroRF: Fast Sparse View 360◦ Reconstruction with Zero Pretraining 任务&#xff1a;稀疏重建&#xff1b;拓展&#xff1a;Image to 3D、文本到3D 作者&#xff1a;Ruoxi Shi* Xinyue Wei* Cheng Wang Hao Su &#xff0c;来自UC San Dieg…

【接口测试】如何定位BUG的产生原因

我们从在日常功能测试过程中对UI的每一次操作说白了就是对一个或者多个接口的一次调用&#xff0c;接口的返回的内容(移动端一般为json)经过前端代码的处理最终展示在页面上。http接口是离我们最近的一层接口&#xff0c;web端和移动端所展示的数据就来自于这层&#xff0c;那么…

深入理解 Rust 中的容器类型及其应用

Rust 作为一种系统编程语言&#xff0c;提供了丰富的容器类型来处理各种数据结构和算法。这些容器类型不仅支持基本的数据存储和访问&#xff0c;还提供了高效的内存管理和安全性保障。本文将详细介绍 Rust 中的几种主要容器类型&#xff0c;包括它们的用法、特点和适用场景&am…

【数据结构一】初始Java集合框架(前置知识)

Java中的数据结构 Java语言在设计之初有一个非常重要的理念便是&#xff1a;write once&#xff0c;run anywhere&#xff01;所以Java中的数据结构是已经被设计者封装好的了&#xff0c;我们只需要实例化出想使用的对象&#xff0c;便可以操作相应的数据结构了&#xff0c;本篇…

【C++进阶02】多态

一、多态的概念及定义 1.1 多态的概念 多态简单来说就是多种形态 同一个行为&#xff0c;不同对象去完成时 会产生出不同的状态 多态分为静态多态和动态多态 静态多态指的是编译时 在程序编译期间确定了程序的行为 比如&#xff1a;函数重载 动态多态指的是运行时 在程序运行…

【Amazon 实验②】使用Amazon WAF做基础 Web Service 防护之自定义规则

文章目录 1. 自定义规则1.1 介绍 2. 实验步骤2.1 测试2.2 输出 上一篇章介绍了使用Amazon WAF做基础 Web Service 防护中的Web ACLs 配置 & AWS 托管规则的介绍和演示操作 【Amazon 实验①】使用Amazon WAF做基础 Web Service 防护&#xff0c;本篇章将继续介绍关于自定义…

操作系统--磁盘存储器的管理

目录 8.1 外存的组织方式 常用的外存分配方法&#xff1a; 8.1.1 连续组织方式 连续组织方式的主要优点有&#xff1a; 连续组织方式的主要缺点如下&#xff1a; 8.1.2 链接组织方式 链接组织方式的主要优点是&#xff1a; 1. 隐式链接 2. 显式链接 8.1.3 FAT和NTFS技术 文…

大创项目推荐 深度学习+python+opencv实现动物识别 - 图像识别

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 inception_v3网络5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; *…

基于Java (spring-boot)的在线考试管理系统

一、项目介绍 系统功能说明 1、系统共有管理员、老师、学生三个角色&#xff0c;管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管理、学生管理四个模块。 3、学生可以参与考试、查看成绩、试题练习、留言等功能 二、作品包含 三、项目技术 后端语言&#xff1…

【二】【C语言\动态规划】解码方法、不同路径、不同路径II,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…

CSS3多列分页属性

CSS3多列 Firefox浏览器支持该属性的形式是-moz-column-count&#xff0c;而基于Webkit的浏览器&#xff0c;例如Safari和Chrome&#xff0c;支持该属性的形式是-webkit-column-count column-count&#xff1a;该属性定义多列文本流中的栏数 语法&#xff1a;column-count:int…

本地websocket服务端结合cpolar内网穿透实现公网访问

文章目录 1. Java 服务端demo环境2. 在pom文件引入第三包封装的netty框架maven坐标3. 创建服务端,以接口模式调用,方便外部调用4. 启动服务,出现以下信息表示启动成功,暴露端口默认99995. 创建隧道映射内网端口6. 查看状态->在线隧道,复制所创建隧道的公网地址加端口号7. 以…

「数据结构」二叉树2

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;初阶数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 文章目录 &#x1f349;前言&#x1f349;链式结构&#x1f349;遍历二叉树&#x1f34c;前序遍历&#x1f34c;中序遍历&#x…