文章目录
-
- [1. 🚀Linux权限管理](#1. 🚀Linux权限管理)
- [2. 🚀文件权限值的表示方法](#2. 🚀文件权限值的表示方法)
- [3. 🚀文件访问权限的相关设置方法](#3. 🚀文件访问权限的相关设置方法)
- [4. 🚀file指令](#4. 🚀file指令)
- [5. 🚀目录的权限](#5. 🚀目录的权限)
- [6. 🚀粘滞位](#6. 🚀粘滞位)
Linux下有两种用户:超级用户(root)、普通用户。
超级用户:可以再Linux系统下做任何事情,不受限制
普通用户:在linux下做有限的事情。
超级用户的命令提示符是"#",普通用户的命令提示符是"$"
1. 🚀Linux权限管理
1️⃣在Linux中,访问文件的总共有三类人:
- 文件和文件目录的所有者:User(一般缩写为u)
- 文件和文件目录的所有者所在的组的用户:Group(一般缩写为g)
- 其它用户:Others (一般缩写为o)
2️⃣根据访问文件人的类别,可以构成文件的基本属性 :我们用 ll 命令查看文件的基本属性
🔹文件属性各个位置具体意义 :
3️⃣文件的基本类型(文件属性第一位的分类)
- d:文件夹
- -:普通文件
- l: 软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
2. 🚀文件权限值的表示方法
文件属性的第一位表示文件的类型,那么2-10位那一串字符,表示文件的权限值,前3位为root的权限,中间三位表示所属组的权限,后三位表示other的权限。
❓不同的字符具有怎样的意义
- r:三位权限符的第一位,对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
- w:三位权限符的第二位,对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
- x: 三位权限符的第三位,对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
- -:表示没有该位置的权限
🔹列表分类(所有权限种类):
Linux表示 | 说明 | Linux表示 | 说明 |
---|---|---|---|
r - - | 只读 | - w - | 只可写 |
- - x | 仅可执行 | r w - | 可读可写 |
- w x | 可写和可执行 | r - x | 可读可执行 |
r w x | 可读可写可执行 | - - - | 无权限 |
🔹除了字符的表达方法,权限还有八进制的表达方法,以值的形式表达:
权限符号 | 八进制 | 二进制 |
---|---|---|
r - - | 4 | 100 |
-w- | 2 | 010 |
- -x | 1 | 001 |
rw- | 6 | 110 |
-wx | 3 | 011 |
r-w | 5 | 101 |
rwx | 7 | 111 |
- - - | 0 | 000 |
🔻 以值的形式表达,其实就是将rwx按位看作是二进制,有权限为1,无权限为0,例如:rw-按位二进制表达为110,它的值形式表达就是6;-w-按位二进制表达为010,它的值形式表达就是2。
3. 🚀文件访问权限的相关设置方法
1️⃣🔹指令:chmod
作用:设置文件的访问权限
格式:chmod [人物][权限字符][权限] 文件名
🔸人物: u -> 文件拥有者 , g -> 所属组 ,o -> 其他人,a -> 所有人。
🔸权限字符:
- +:向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予 权限代号所表示的权限
🔸常用选项: - -R递归改变权限
- 说明:只有文件的拥有者和root才可以改变文件的权限
2️⃣chmod用八进制数字改变权限
3️⃣ chown / chgrp
作用: chown 是 修改文件的拥有者 的权限指令,chgrp是 修改文件或目录的所属组 的权限指令。
格式:chown/chgrp 用户名 文件名
🔸常用选项 :-R递归改变修改文件或目录的拥有者/所属组
4️⃣ umask
功能:查看或修改文件掩码 ,来以此设置文件创建的初始权限 。
🔸说明:文件创建的初始权限 (值表达) = mask & ~umask = mask - umask,mask为默认权限,umask为权限掩码;
🔸第二,新建文件夹默认权限=0666 ,新建目录默认权限=0777;
🔸第三,超级用户默认掩码值为0022 ,普通用户默认为0002。
🔸第四,可以通过umask 权限值设置权限掩码。
4. 🚀file指令
功能说明:辨识文件类型。
cpp
语法:file [选项] 文件或目录...
5. 🚀目录的权限
- 可执行权限: 如果目录没有可执行权限(x), 则无法cd到目录中
- 可读权限: 如果目录没有可读权限®, 则无法用ls等命令查看目录中的文件内容.
- 可写权限: 如果目录没有可写权限(w), 则无法在目录中创建文件, 也无法在目录中删除文件
❓于是, 问题来了
🔸换句话来讲, 就是只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写权限 。
🔸例如,Sherry创建了一个目录,在目录当中创建了一个文件,并设置目录的other具有rwx权限,目录内的文件的other只有r权限,虽然Lvision不具有这个文件的w权限,但有这个目录的w权限,就可以删除这个由Sherry创建的文件
🤔这好像不太科学啊, 我Sherry创建的文件,即使你由这个目录的写(w)权限,但是你没有我这个文件的写权限, 😕凭什么被你Lvision可以删掉?
为了解决这个不科学的问题, Linux引入了粘滞位的概念。
6. 🚀粘滞位
指令:chmod +t 文件名
当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
针对以上情况,可以对目录添加粘滞位来处理
🔸关于权限的总结
- 目录的可执行权限 是表示你可否在目录下执行命令。
- 如果目录没有-x权限 ,则无法对目录执行任何命令,甚至无法cd 进入目录, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
- 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录 。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
本文就到这里,感谢你看到这里❤️❤️! 我知道一些人看文章喜欢静静看,不评论🤔,但是他会点赞😍,这样的人,帅气低调有内涵😎,美丽大方很优雅😊,明人不说暗话,要你手上的一个点赞😘!