🎬 乀艨ic:个人主页
⛺️说是高产但是还是过了快半个月才更新()
⭐️来看看这次的博客吧~
🌳前言
上次注意到发Linux相关的点击量比其他的多很多,那就最近多更几篇Linux相关的吧()
注:Linux的不同发行版本的指令可能有所不同,本次是按照CentOS7的标准来进行追述的。
🌳Linux 权限概念
在谈论什么是Linux的权限管理之前,我们肯定要明白 Linux 中权限的概念。当我们在 Linux 的控制台输入指令 whoami 的时候,能看到你当前登录的用户名,如下:
Linux下只有两种用户:超级用户(root)、普通用户
超级用户:可以在 Linux 系统下做任何事情,不受限制
普通用户:在 Linux 下做有限的事情。
超级用户的命令提示符是“#”,普通用户的命令提示符是“$”
简单的说,当你的用户名是root时,你就是超级用户,拥有着最高的权限,如果不是就会有着相对较少的权限,当然具体的体现就要看下文的显示了。
🌲su 指令
语法:su [用户名]
功能: 切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。
🌳Linux 权限管理
谈完 Linux 权限的概念,我们来看看 Linux 到底是怎么控制权限的。
🌲文件访问者的分类
Linux 中的所有文件将访问者分为了三类:
文件和文件目录的所有者:u—User
文件和文件目录的所有者所在的组的用户:g—Group
其它用户:o—Others
即拥有者(user),所属组(group) 和 其他(other)。
🌲访问权限类型
谈完文件对访问者的划分,我们再看看文件对于权限的划分。
我们先通过观察一个文件的详细属性来进行讲述:
我们注意到任意一个文件的详细属性最前面都有10个字母,我们再看看这10个字母代表着什么。
如上图。我们得知第一个表示的是文件的类型,而后9个字母以三个三个为一组,分别代表了拥有者,所属组和其他的三个权限的拥有情况,而在10个字母与一个数字之后,标注着这个文件的拥有者跟所属组的相关情况。
🍃基本权限
我们再来看看表示权限的九个字母的具体含义:
i.读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
ii.写(w):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
iii.执行(x):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
iv.“—”表示不具有该项权限
🌲文件访问权限表示方式
Linux 中对文件权限的描述有两种形式:
🍃用字符去描述文件权限
🍃用8进制数字去描述文件权限
🌲文件访问权限相关设置
既然我们已经了解了文件的权限,那么文件的权限是否可以进行人为更改呢?答案当然是肯定的,我们接着再去认识几个更改权限的指令。
🍃chmod 指令
功能: 设置文件的访问权限
格式:chmod [参数] 权限 文件名
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
chmod 使用格式:
① 用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
实例:
这里可以看到我通过 chmod 指令给dir文件的所属组跟其他都加上了写的权限。
②三位8进制数字
实例:
这里可以看到我通过 chmod 指令给dir文件的所有权限都清空了。
🍃umask
这个时候我们去谈另一个问题,如果我新建一个普通文件跟一个目录,如下图:
这里可以注意到,这两种类型的文件的默认初始权限是不一样的,目录文件展现出来的是 755,而一般文件是 644 。
但其实目录文件的默认权限是 777,而一般文件是 666 ,而展现出来的权限跟默认权限不同是因为在 Linux 中存在一个叫做权限掩码的东西—— umask
如上图,只要你在 Linux 的控制台输入 umask 就可以看到本机的权限掩码,这四位数字的后三位是三个八进制数字表示了对拥有者,所属组跟其他的掩码作用。
起始权限 & (~umask) = 最终权限
就造成了我们看到的最终现象。
当然umask也是可以自己设置的,如下:
umask [三个8进制数字]
即可
🍃chown 指令
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
实例:
这样就把 test 文件的拥有者从 root 改为了 fmsaier。
🍃chgrp 指令
**功能:**修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
实例:
这样就把 test 文件的所属组从 root 改为了 fmsaier。
🌲目录的权限
这里特意强调一下对于目录来说的 rwx 分别代表着什么。
可执行权限: 如果目录没有可执行权限, 则无法cd到目录中.
可读权限: 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限: 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.
可是这样有一个问题:只要我拥有你目录的 w 权限,我就可以在目录里面随意的删除不属于我的文件,甚至是我不能读写的文件。如下:
可以看到身为普通用户的 fmsaier 因为具有目录 dir 的 w 权限,而没有 dir 内 test 的 r 权限,所以无法去读取 test 内的内容,但是居然可以将这个无法读取的文件删除。
为了解决这个问题,就引出了下一个新的概念——粘滞位
🌲粘滞位
我们直观看一下粘滞位的作用,如下:
可以看到同样的情况下,我们给目录 dir 加上 t 权限,其他用户就无法去删除不属于他的文件了,而这里的 t 权限就是我们说的 粘滞位 。
当一个目录被设置为"粘滞位"(用chmod +t 目录),则该目录下的文件只能由
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除
由此便解决了我们刚刚提出的问题。
🌳结尾
这就是Linux权限的所有内容了,以后还会更新更多关于Linux操作系统的相关知识,点一个关注避免错过哦~
感谢观看,喜欢的话可以给一个大大的三连哦~
期待我们的下次相遇,喜欢的请点个关注再走哦!之后会持续更新更多的内容!
个人主页:传送门文章来源:https://www.toymoban.com/news/detail-847919.html
文章来源地址https://www.toymoban.com/news/detail-847919.html
到了这里,关于【操作系统】一篇文章带你理清Linux中的权限!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!