<Linux>权限管理|权限分类|权限设置|权限掩码|粘滞位

news2024/11/19 9:22:02

文章目录

  • Linux权限的概念
  • Linux权限管理
    • a. 文件访问者的分类
    • b. 文件类型和访问权限
    • c. 文件权限表示方法
    • d. 文件权限的设置
    • 权限掩码
    • file指令
    • 粘滞位
  • 权限总结
  • 权限作业

Linux权限的概念

Linux下有两种用户:超级用户(root)和普通用户。

  • 超级用户:可以在Linux系统下做任何事情,不受限制
  • 普通用户:在Linux下做有限的事
  • 超级用户的提示符是“#”,普通用户的提示符是“$”
    image-20230806165553469

命令su用来切换用户
语法:su 用户名
功能:切换用户
例如,从root切换为sy,只需要su sy即可,若从普通用户切换为超级用户可以su root,root可以省略(切换为超级用户时需要输入root密码)

Linux权限管理

我们针对一件事可不可以被做时需要考虑两方面,一是这件事针对的不同的对象是否可以被做,二是这件事本身是否可以被做。

Linux中的权限也应该从这两方面考虑

  1. 文件访问者的分类(人)
  2. 文件类型和访问权限(事物属性)

a. 文件访问者的分类

访问者一般分为以下3类

  • 文件和目录的所有者:u—User
  • 文件和目录的所有者所在的组的用户:g—Group
  • 其他用户:o—Others

b. 文件类型和访问权限

文件信息:

image-20230806171024029

文件类型:

d:文件夹

-:普通文件(源文件、可执行文件)

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

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

p:管道文件

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

s:套接口文件

基本权限:

i.读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

ii.写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

iii.执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

iv.“-”表示不具有该项权限

c. 文件权限表示方法

字符表示

Linux表示说明
---文件目录不可读不可写不可执行
r --文件目录只可读
-w-文件目录只可写
--x文件目录只可执行
rw-文件目录可读可写
r-x文件目录可读可执行
-wx文件目录可写可执行
rwx文件目录可读可写可执行

进制表示

权限符号8进制表示二进制表示说明
---0000文件目录不可读不可写不可执行
r --4100文件目录只可读
-w-2010文件目录只可写
--x1001文件目录只可执行
rw-6110文件目录可读可写
r-x5101文件目录可读可执行
-wx3011文件目录可写可执行
rwx7111文件目录可读可写可执行

若文件的权限符号是rwxr-xr-x,则该文件的拥有者对文件可读可写可执行,所属组对文件可读可执行,其他人对文件可读可执行。该权限可以用755表示

d. 文件权限的设置

chomd
功能:修改文件目录的权限
格式:chmod [参数] 权限 文件名
参数:

R : 递归修改目录文件的权限

注意:只有root和拥有者可以更改文件权限

chmod修改权限的格式

  1. 用户表示符±=权限字符

    • +:向权限范围增加权限代号所表示的权限

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

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

    • 用户符号:

      u:拥有者

      g:拥有者同组用

      o:其它用户

      a:所有用户

image-20230806191856310

  1. 三位八进制数字

image-20230806192531267

chown
功能:修改文件的拥有者
格式:chown [参数] 用户文件名

image-20230806193755364

chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录所属组

image-20230806194049268

权限掩码

新建的文件默认权限是666,新建的目录默认权限是777,但是实际看见的文件默认权限是664,目录权限是775,这是因为umask(权限掩码)的存在image-20230806222946026

当前状态权限掩码的默认值为002(八进制)image-20230806223333958

因此实际权限=默认权限减去权限掩码

这里的减去不是数学上的减,而是将与权限掩码为1的位所对应的二进制位置为0
例如文件最初权限二进制串是110110110,掩码二进制串000000010,将文件最初权限倒数第二个二进制位变成0就是110110100
用计算机语言就是实际权限=默认权限&(~权限掩码)

ps:
root用户的默认权限掩码是0022;普通用户的默认权限掩码是0002
image-20230807101451159

为什么文件的最初权限是666呢?
因为直接创建的文件都不可以直接执行,因此将最初权限设置位666
为什么文件的最终权限是664?
因为通常情况我们不希望other可以对文件的内容进行修改,只给other读文件的权限
为什么目录的最终权限是775呢?
首先,读目录就是查看当前目录下存在的文件,写目录就是在当前目录下删除/添加文件,执行目录就是进入该目录,任意创建的一个目录,我们并不希望others可以随意删除该目录下的内容,因此将other的w权限去掉,最初权限位775.


file指令

功能语法:辨识文件类型
语法:file [选项] 文件或目录
常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形
  • -z 尝试去解读压缩文件的内容

image-20230807101945826

粘滞位

如果现在存在这样一种情况:你是老板,你命令手下的员工小王和小李在你所创建的目录dir下共同工作,小王在dir下创建了test1.txt,小李在dir下创建了test2.txt。test1.txt对other的权限是---,因此小李不可以查看text1.txt,但是dir对other的权限一定是rwx,也就是说小李在这种情况下可以删除text1.txt。小王的初衷就是不给小李查看自己写的文件,你倒好,直接把文件给删了,是不是不太合理?,在这种情况下,我们可以设置粘滞位

语法:chmod +t 目录

image-20230807103843984

当目录被设置成粘滞位时,该目录下的文件只能被

  • 超级管理员删除
  • 该目录的所有者删除
  • 该文件的所有者删除

权限总结

  • 权限可以用字符表示:rwxrwxrwx;可以用进制表示:777
  • root用户或者文件目录的拥有者可以通过chmod改变权限
  • root用户可以通过chown改变文件的拥有者,chgrp改变文件的所属组
  • 实际权限=最初权限&(~权限掩码)

文件权限:

  1. r权限表示是否可以读取文件内容
  2. w权限表示是否可以对文件的内容进行修改
  3. x权限表示是否可以执行该文件
  4. 一般创建的文件都不具有可执行性,因此文件最初的权限是666

目录权限:

  1. r权限表示是否可以查看当前目录下所有的文件或子目录
  2. w权限表示是否可以在当前目录下创建/删除文件、子目录
  3. x权限表示是否可以cd到当前目录下
  4. 目录的最初权限是777,普通用户创建的目录最终权限是775
  5. 可以对目录设置粘滞位保证该目录下的文件不能随意被删除

权限作业

  1. 以下哪个命令输出Linux内核的版本信息:

  2. linux查看cpu占用的命令是什么?
    image-20231116223722915

  3. 在Linux系统中, 为找到文件try_grep含有以a字母为行开头的内容, 可以使用命令?
    image-20231116223757334

  4. image-20231116223854721

image-20231116223911916

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

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

相关文章

Python操作Excel常用方法汇总

目录 引言 一、使用pandas库操作Excel 1、读取Excel文件 2、写入Excel文件 3、处理Excel数据 二、使用openpyxl库操作Excel 1、读取Excel文件 2、写入Excel文件 3、处理Excel数据 三、高级功能 总结 引言 Python是一种功能强大的编程语言,它可以用来处理…

MongoDB相关基础操作(库、集合、文档)

文章目录 一、库的相关操作1、查看数据库2、查看当前库3、创建数据库4、删除数据库 二、集合的相关操作1、查看库中所有集合2、创建集合2.1、显示创建2.2、隐式创建 3、删除集合 三、文档的相关操作1、插入文档1.1、插入单条文档1.2、插入多条文档1.3、脚本方式 2、查询文档3、…

电商平台革新:食派士小程序的无代码开发与广告推广集成

食派士小程序:无代码开发的连接神器 食派士小程序,作为上海食派士商贸发展有限公司的专利产品,是一种凭借无代码开发,就能实现与各种系统的连接和集成的电商解决方案。它采用无代码开发的方式,避免了API开发的复杂过程…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列8

文章目录 前言一、原始代码二、对每一行代码的解释:总结 前言 这是该系列原型网络的最后一段代码及其详细解释,感谢各位的阅读! 一、原始代码 if __name__ __main__:##载入数据labels_trainData, labels_testData load_data() # labels_…

常见树种(贵州省):001松类

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、华山松…

麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下载

麻将馆电脑计费系统,棋牌室怎么用电脑控制灯计时,佳易王计时计费系统软件下 棋牌室电脑灯控系统,需要安装一个灯控器,软件发出开灯和关灯的指令,相应的灯就打开或关闭。在点击开始计时的时候,开灯&#xff…

黔院长 | 为什么要调经络?原来通经络对人体健康如此重要!

人体的组成较为复杂,在外有皮肤、毛发;在内有经络、五脏;其他还有我们看不到的精气、津液等等,也因此人体会生各种各样的疾病。 为什么说经络畅通对人体健康如此重要?身体内外始终是一个统一的整体,内外之间…

vue3基础学习

##以前怎么玩的? ###MVC Model:Bean View:视图 Controller ##vue的ref reactive ref:必须是简单类型 reactive:必须不能是简单类型 ###创建一个Vue项目 npm init vuelatest ###生命周期 ###setup相关 ####Vue2的一些写法 -- options API ####Vue3的写法 组合式API Vu…

Python —— Mock接口测试

前言 今天跟小伙伴们一起来学习一下如何编写Python脚本进行mock测试。 什么是mock? 测试桩,模拟被测对象的返回,用于测试 通常意义的mock指的就是mock server, 模拟服务端返回的接口数据,用于前端开发,第三方接口联调 为什么…

数据结构与算法-哈夫曼树与图

🌞 “永远积极向上,永远豪情满怀,永远热泪盈眶!” 哈夫曼树与图 🎈1.哈夫曼树🔭1.1树与二叉树的转换🔭1.2森林与二叉树的转换🔭1.3哈夫曼树🔎1.3.1哈夫曼树的概念&#x…

大数据HCIE成神之路之数学(2)——线性代数

线性代数 1.1 线性代数内容介绍1.1.1 线性代数介绍1.1.2 代码实现介绍 1.2 线性代数实现1.2.1 reshape运算1.2.2 转置实现1.2.3 矩阵乘法实现1.2.4 矩阵对应运算1.2.5 逆矩阵实现1.2.6 特征值与特征向量1.2.7 求行列式1.2.8 奇异值分解实现1.2.9 线性方程组求解 1.1 线性代数内…

基于STM32单片机数字电压表自动切换量程及源程序

一、系统方案 1、本设计采用这STM32单片机作为主控器。 2、液晶1602显示。 3、内部ADC采集电压0-12V,自动切换档位。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 u8 i; u16 a,b,c,d; u16 adcx; float adc; unsigned char datas…

AIGC实战 - 使用变分自编码器生成面部图像

AIGC实战 - 使用变分自编码器生成面部图像 0. 前言1. 数据集分析2. 训练变分自编码器2.1 变分自编码器架构2.2 变分自编码器分析 3. 生成新的面部图像4. 潜空间算术5. 人脸变换小结系列链接 0. 前言 在自编码器和变分自编码器上,我们都仅使用具有两个维度的潜空间。…

Alien Skin Exposure2024免费版图片颜色滤镜插件

Alien Skin Exposure一款非常专业的图片后期处理软件,内含500多种照片滤镜。是一款图片后期处理功能非常强大的软件。这款软件可以对图片的后期效果做很好的处理。 打开Alien Skin Exposure软件,会显示下面这个界面,如图1. ExposureX8win-安…

爱奇艺大数据离在线混部

混部作为一种提高资源利用率、降低成本的的方案,被业界普遍认可。爱奇艺在云原生化与降本增效的过程中,成功将大数据离线计算、音视频内容处理等工作负载与在线业务进行了混部,并且取得了阶段性收益。本文重点以大数据为例,介绍从…

图解API设计风格,看一眼就忘不了了!

点击下方“JavaEdge”,选择“设为星标” 第一时间关注技术干货! 免责声明~ 任何文章不要过度深思! 万事万物都经不起审视,因为世上没有同样的成长环境,也没有同样的认知水平,更「没有适用于所有人的解决方案…

反弹Shell

概述 反弹shell(reverse shell)就是控制端监听在某TCP/UDP端口,被控端发起请求到该端口,并将其命令行的输入输出转到控制端。reverse shell与telnet,ssh等标准shell对应,本质上是网络概念的客户端与服务端…

原型网络Prototypical Network的python代码逐行解释,新手小白也可学会!!-----系列7(承接系列6)

文章目录 前言一、原始代码---保存原型点,加载原型点二、代码逐行解释 前言 此部分为原型网络的两个函数,分别为保存原型点函数和加载原型点函数,与之前的系列相承接。 一、原始代码—保存原型点,加载原型点 def save_center(self,path):datas []for …

C/C++ 获取主机网卡MAC地址

MAC地址(Media Access Control address),又称为物理地址或硬件地址,是网络适配器(网卡)在制造时被分配的全球唯一的48位地址。这个地址是数据链路层(OSI模型的第二层)的一部分&#…

端口号大揭秘:网络世界的“门牌号”有多牛?

大家好,今天我们来聊一聊网络中的端口号。如果你以为端口号只是冷冰冰的数字,那你就大错特错了。端口号,这些看似枯燥的数字背后,隐藏着一个个生动的故事。 目录 大家好,今天我们来聊一聊网络中的端口号。如果你以为端…