🌟🌟作者主页:ephemerals__
🌟🌟所属专栏:Linux
目次
前言
一、权限是什么
二、用户和身份脚色
三、文件属性
1. 文件属性体现
2. 文件范例
3. 文件的权限属性
四、修改文件的权限属性和脚色
1. 修改权限属性
2. 修改文件脚色
五、关于权限的三个题目
1. 目次的权限
2. 默认权限与现实权限
3. 删除权限与粘滞位
总结
前言
在数字天下中,
安全始终是最紧张的基石,而Linux作为开源操纵体系的璀璨明珠,其
权限管理机制更是构筑
安全防线的关键一环。本篇文章,我们将深入探究Linux的权限体系,资助你更好地掌控文件权限,构建更
安全、可靠的工作情况。
一、权限是什么
在Linux当中,权限指的是操纵体系用于控制
用户对文件或目次举行访问的机制,说白了,权限能决定用户
能不能访问一个文件或目次,能以什么样的方式访问文件或目次。影响权限的因素:
目标事物的属性和用户及其饰演的身份脚色。
二、用户和身份脚色
在Linux下,我们可以以为有两种用户:
1.
root用户(超等用户):
险些不受权限束缚,可以恣意访问文件或目次。
2.
平凡用户:
Linux使用者,受权限束缚。
创建用户:
adduser [用户名]
设置暗码:
passwd [用户名]
切换用户:
su [用户名]
切换到root用户:
su
回退到之前用户:
ctrl+D或
exit
以root身份重新登录:
su -
指令提权:
sudo 指令
注:指令提权本质是以root用户的身份实行下令
而“
身份脚色”是针对于详细事物,
由用户所饰演的。身份脚色有如下三种:
1. 文件拥有者(User,u)
2. 文件所属组(Group,g)
3. 其他人(Other,o)
对于一个目次或文件而言,身份脚色差异,它们所拥有的权限也不尽雷同,其权限
由文件属性和身份脚色共同决定。
三、文件属性
1. 文件属性体现
使用
ls -l 指令表现文件信息,就可以看到
文件属性:
比方上图中的
code文件,它的各项属性体现如下:
接下来,我们重点探究一下
文件范例以及
权限属性。
2. 文件范例
文件范例
d:目次
-:平凡文件
c:字符装备文件
b:块装备文件
p:管道文件
l:软链接文件
s:套接口文件
3. 文件的权限属性
如上图所示,文件的权限属性针对三种脚色大概有所差异,这就分析权限
由文件属性和身份脚色共同决定。权限范例有三种:
r:可读--可以检察文件内容
w:可写--可以修改文件内容
x:可实行--可以运行
当权限属性的相应位置上有r/w/x时,体现该文件针对的脚色具有读/写/实行该文件的权限,否则不具有相应权限。
以下两点必要留意:
对于root用户,无论其饰演的脚色是否具有权限,其都可以举行相应操纵。
一个文件可实行的两个须要条件:1. 文件具备可实行权限;2. 文件的范例是可实行步调。
权限范例有
字符体现方法和
八进制体现方法两种
:
当使用八进制体现方法体现权限属性时,
一种脚色的权限属性可以只用一位八进制数字体现,以是一个三位八进制数字就可以体现全部脚色的权限属性(修改权限属性时方便使用)。
留意:针对某个文件来讲,一个饰演多种脚色的用户的权限按照脚色优先级举行对应。
脚色优先级:拥有者>所属组>其他人
举例:对于一个文件test.txt,拥有者的权限是
r--,而所属组的权限是
-x-,而一个用户既作为该脚色的拥有者,也作为所属组时,其权限是
r--(拥有者优先级较高,与拥有者权限雷同)。
四、修改文件的权限属性和脚色
1. 修改权限属性
我们可以使用
chmod指令修改一个目次或文件的权限属性。它的语法如下:
常用选项:
-R 递归地修改目次及子目次的权限
此中,若使用字符体现法体现权限,则其格式是:
(脚色)(+/-)(r/w/x)
脚色
u:体现拥有者
g:体现所属组
o:体现其他人
a:体现全部脚色
+/-
+:体现新增权限
-:体现去除权限
使用示例:
- chmod u+r test.txt #对于该文件,给拥有者增加读权限
- chmod g+rwx test.txt #对于该文件,给所属组增加读、写、执行权限
- chmod a-x test.txt #对于该文件,去除所有人的执行权限
- chmod -x test.txt #与上条指令等价
- chmod u+r,o-w test.txt #对于该文件,给拥有者增加读权限,并去除其他人的写权限
固然我们也可以使用
八进制体现方法设置文件权限。使用示例:
- chmod 777 test.txt #针对该文件,给所有人增加所有权限
- chmod 456 test.txt #针对该文件,设置拥有者的八进制权限编号为4,所属组为5,其他人为6
留意:
只有文件的拥有者或具有root权限才气修改和设置文件的权限属性。
2. 修改文件脚色
除了文件的权限属性,文件脚色也可以被修改。
chown指令修改文件
拥有者:
使用示例:
- chown user test.txt #将test.txt的拥有者改为user
- chown -R user mydir/... #将目录mydir及其子目录的拥有者改为user
chgrp指令修改文件
所属组:
使用示例:
- chgrp user test.txt #将test.txt的所属组改为user
- chgrp -R user mydir/... #将目录mydir及其所有子目录的所属组改为user
留意:
只有具有root权限才气修改文件拥有者;只有文件的拥有者或具有root权限才可以修改该文件所属组。
五、关于权限的三个题目
1. 目次的权限
对于一个目次而言:
如果没有
读权限,就无法检察该目次下的文件信息;
如果没有
写权限,那么就无法创建、删除、修改该目次内部的文件;
如果没有
实行权限,那么无法进入该目次。
留意:纵然一个目次有读权限,但若没有实行权限,那么仍然无法进入该目次,而且无法在该目次下实行下令和检察该目次下文件的详细信息。
2. 默认权限与现实权限
在Linux下,一个平凡文件,它的默认权限是
rw- rw- rw-(666);而一个目次的默认权限是
rwx rwx rwx(777)。
但当我们创建一个平凡文件和目次后,可以看到其权限属性
并非是默认值:
相比默认权限,两者的现实权限貌似
缺失了所属组和其他人的读权限。这是为什么呢?
现实上,存在一种叫做
umask权限掩码的机制,它控制的是新创建文件和目次时,
哪些权限将被去除。留意:它并不会直接赋予权限,而是通过限定默认权限来间接设定权限。
可以使用
umask指令检察umask码:
可以看到,当前体系的umask为
022(最高位的0暂时省略),它着实是一个
三位八进制数字,与八进制数字体现的权限属性相呼应。
掩码规则:文件的现实权限 = 默认权限(八进制)- umask。
以是我们看到的文件和目次的现实权限是:
目次:777 - 022 = 755 (rwx r-x -r-x)
文件:666 - 022 = 644 (rw- r-- r--)
固然,umask也可支持
修改,使用示比方下:
修改umask,可以到达修改现实权限的效果。
3. 删除权限与粘滞位
要
删除一个文件,看的不是该文件的读/写/实行权限,而是必要
该文件所在目次的写权限和实行权限,由于实行权限决定了是否可以进入目次;写权限决定了是否可以删除目次下文件。
但这种设定似乎并不公道:假设有一个用户,其无权访问文件A,但大概有权删除文件A。
以是Linux出现了一种机制:
粘滞位,用于
防止无关职员删除紧张文件。
当一个目次被设置为
粘滞位后,其下的文件或目次只能由以下两者删除:
1. root用户
2. 当前文件或目次的全部者
也就是说,除了root用户之外,该目次下的文件或目次,只有本身的,才气被本身删除。
设置粘滞位的指令:
总结:如果想要共享一个目次,而且确保目次下的文件不被删除,那么就必要设置粘滞位。
有两点必要留意:
1. 根目次下的tmp目次自带粘滞位,可以用做共享目次。
2. 粘滞位只需给目次设置,不必要给平凡文件设置。
总结
本篇文章,我们深入探究了Linux体系中的权限管理,包罗权限的概念、用户脚色、文件属性及其权限设置的操纵方法。相识并把握这些内容对于管理Linux体系的安全性至关紧张。通过公道设置文件权限和用户脚色,可以有效控制文件访问、进步体系的安全性和机动性。如果你以为博主讲的还不错,就请留下一个小小的赞在走哦,感谢各人的支持❤❤❤
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。