共计 2158 个字符,预计需要花费 6 分钟才能阅读完成。
Linux 零碎上有严格的权限等级,如果权限过高导致误操作会减少零碎的危险。所以对于理解 Linux 零碎中的各种权限及如何调配正当的权限非常重要。
不同于 Windows 零碎,Linux 是一个多用户零碎,对每一个用户来说,个人隐私的爱护非常重要,所以 Linux 零碎为每个文件都增加了很多的属性,最大的作用就是保护数据的平安。就像在你的 Linux 零碎中,和零碎服务相干的文件通常只有 root 用户能力读或写,例如 /etc/shadow 文件,此文件记录了零碎中所有用户的明码数据,重要水平显而易见,所以绝不能让任何人读取以避免明码泄露,而只有 root 用户才有读取权限。
所以说,权限是用来束缚用户对系统所做的操作。或者说,权限是指某个特定的用户具备特定的系统资源应用势力。
1. 权限与用户的关系
在 Linux 零碎中,权限用来定义用户能做什么、不能做什么。针对文件定义了三种身份,别离是属主 Owner、属组 Group、其他人 Others。每种身份又对应三种权限,别离是读 read、写 write、执行 execute。
Linux 中权限由 rwxr-xr-x 这 9 位字符来示意,次要管制文件的属主 Owner、属组 Group 以及其余用户 Others 的权限。
一个用户拜访文件的流程如下:
1. 判断用户是否为文件属主,如果是则按属主权限进行拜访;
2. 判断用户是否为文件属组,如果是则按属组权限进行拜访;
3. 如果不是文件属主、也不是该文件属组,则按其他人权限进行拜访。
咱们在应用 Linux 的过程中,时常会遇到一些对于属主和属组的问题,比方最常见的你想要在某个门路下执行某个指令,会经常出现“Permission denied”谬误提醒,这其实也是由权限问题导致的。
2. 如何批改文件权限
批改权限简略来说就是:赋予某个用户或组 –> 可能以何种形式 (读写执行)–> 拜访文件。
变更文件权限应用的是 chmod 这个命令,然而,权限的设置有两种形式,能够别离应用数字或者符号进行权限变更。对于 root 用户而言,能够批改任何人的文件权限;普通用户仅仅只能变更属于本人的文件权限。
(1)NUM 形式
咱们能够应用数字来示意 Linux 文件的各个权限。
个别 r 示意 4;w 示意 2;x 示意 1,每种身份各自的权限是须要累加的,比方 rwx 就示意 4+ 2 + 1 = 7。比方咱们最常见的 chmod777 它就示意赋予所有的权限,也就是说谁都能看 / 写 / 执行,然而这种文件也存在极大的平安问题。
示例
● 设定文件权限 644,rw-r–r–
● 设定文件权限 600,rw——-
● 设定目录权限为 755,递归受权 rwxr-xr-x
(2)UGO 形式
九种文件权限别离对应着:user、group 和 others,所以咱们能够借由 u,g,o 来代表三种身份的权限。除此之外,a 代表 all 即全副的身份。
示例:
● 给文件所有人增加读写执行权限: chmod a=rwx file
● 勾销文件的所有权限: chmod a=-rwx file
● 属主读写执行,属组读写,其他人无权限: chmod u=rwx,g=rw,o=- file
● 属主属组读写执行,其他人读权限: chmod ug=rwx,o=r file
(3)UGO 和 NUM 的区别
● UGO 权限是把对文件的访问者做权限;
● NUM 权限是对文件自身做权限。
3. 批改文件权限的影响
Windows 零碎下通过查看文件扩展名判断文件是否可能执行,比方 .exe,.bat, .com 等,然而在 Linux 中,判断文件是否具备可执行权限是直接判断文件有没有 x 这个权限,和文件名无关。
然而在 Linux 中,不只有文件具备权限,目录也有权限,文件是寄存理论数据的中央,而目录是记录文件所在位置的清单,咱们只有通过目录能力找到文件放在哪里!在 Linux 中权限的设定对文件和对目录的影响也是有区别的。
(1)对于文件:
● r:能够读取文件内容 (比方命令 cat more head tail)。
● w:能够编辑文件 (比方命令 vim echo),然而不能删除文件,因为文件名没有放在本人的文件空间,而是放在了上一级的目录空间下。
● x:能够执行。
(2)对于目录:
● r:能够查问目录下的文件(比方命令 ls ll)。
● w:具备批改目录构造的权限,比方新建文件和目录,删除此目录下文件和 目录,重命名此目录下文件和目录,剪切和复制(比方命令 cp mv touch rm)。
● x:目录有执行权限然而不能运行,能够进入目录(cd 命令)。
对文件来说最高权限是 x,对于目录来说最高权限是 w,个别给目录赋予权限 0,5(rx),7(rxw),赋予 4,1,6 都是没有意义的。对于文件是否删除,首先要对目录具备执行权限,同时对文件也具备执行权限。
chown 命令:用来扭转文件或目录的所有者和所属用户组。
chgrp 命令:用来扭转文件或目录的所属的用户组。
示例
(1)chown(changeowner)
筹备环境,创立文件和目录;
批改所属主为 bin;
批改所属组为 adm;
批改目录所属主为 root,所属组为 root,并进行递归受权。
(2)chgrp(changegroup)
筹备环境,创立文件和目录;
批改所属组为 adm。
本文介绍了几种罕用的权限命令,把握一些根底的 Linux 常识有助于咱们更好的应用零碎。须要留神的是,不要随便更改零碎文件夹的权限,这样可能会导致您的零碎某些性能无奈失常应用。