【面向初学者】权限简述

我是系统解决方案部的中川。
最近我收到一个关于权限的咨询,因此
我尽我所能地研究并整理了一些信息,撰写了这篇文章。

什么是权限?

Linux 系统中的目录和文件都具有明确的所有权。
指操作目录和文件的权利权限
虽然权限也称为访问权,但本文将统一使用“权限”一词。
权限的定义如下:(权限、目标用户和符号说明如下。)

权威 权限文本 权威的数字表示 用户
阅读许可 r 4 拥有用户
写入权限 西 2 属于拥有该组的用户
执行权限 x 1 其他用户
无权限 - 0

权限检查

我们来实际检查一下权限。
您可以通过对目标目录和文件运行 `ls -l` 命令来检查权限。
例如,我们来检查文件 `/home/lpic/index.html`。

ls -l /home/lpic/index.html 总计 8 -rw------ 1 lpic linux 16 1月 14 01:16 index.html drwx------ 2 lpic linux 4096 1月 14 01:17 test

让我解释一下这些权限的含义。

ls -l /home/lpic/index.html -rw------ 1 lpic linux 16 Jan 14 01:16 /home/lpic/index.html

在 `ls` 命令的输出中,最左侧的条目代表权限。
默认情况下,它由 10 个字符组成,除第一个字符外,其余部分分别显示每个用户的权限。

所有者用户(lpic)拥有读写权限,
这意味着他们可以使用 cat 等命令查看文件,并使用 vi 编辑其内容。

所属组(Linux)的权限 = ---
⇒ 文件无法查看、编辑或访问。

其他用户的权限 = ---
⇒ 他们无法查看、编辑或访问文件。

接下来,我们来看一下 /home/lpic/test 目录。
要查看单个目录,请使用 ls 命令的 -ld 选项。

ls -ld /home/lpic/test drwx------ 2 lpic linux 4096 Jan 14 01:17 test

由于目标是目录,因此权限的第一个字符显示为“d”。
测试目录的权限含义如下:

所有者用户 (lpic) 权限 = rwx
⇒ 可以查看目录中的文件列表、创建文件和访问目录中的文件。

所属组(Linux)的权限 = ---
⇒ 无法查看目录中的文件列表、创建或删除文件,或访问文件。

其他用户的权限 = ---
⇒ 他们无法查看目录中的文件列表、创建或删除文件,也无法访问文件。

以所有者用户身份操作

尝试以具有必要权限的用户身份运行。

以具有读取权限的 lpic 用户身份运行索引文件。

[lpic@loclhost ~ ]$ cat /home/lpic/index.html 2018年1月18日星期四 11:08:57 JST 

以 lpic 用户身份列出测试目录,并赋予其读取权限。

[lpic@loclhost ~ ]$ ls -ld /home/lpic/test/ drwx------ 2 lpic linux 4096 1月 14 01:17 /home/lpic/test/ 

以具有读取权限的 lpic 用户身份,移动到测试目录。

[lpic@loclhost ~ ]$ cd /home/lpic/test/ [lpic@loclhost test ]$ 

两次执行都成功了!

以非所有者身份操作

接下来,我们来看看用一个没有必要权限的用户运行程序会发生什么。
我们将使用没有读取权限的 lpic2 用户来查看索引文件。

[lpic2@loclhost ~ ]$ cat /home/lpic/index.html cat: /home/lpic/index.html: 权限不足

以 lpic2 用户身份列出测试目录,该用户没有写入权限。

[lpic2@loclhost ~ ]$ ls -ld /home/lpic/test/ ls: 无法访问 /home/lpic/test/: 权限不足

以没有执行权限的 lpic2 用户身份,移动到测试目录。

[lpic2@loclhost ~ ]$ cd /home/lpic/test/ bash: cd: /home/lpic/test/: 权限不足

⇒由于您没有权限,系统将返回“权限被拒绝”的消息。

无需拥有用户或组即可操作

有几种方法可以允许 lpic2 用户操作目标目录或文件:
• 更改目标目录或文件的所有者。
• 更改所有者组的权限,然后将 lpic2 用户添加到所有者组。
• 更改目标目录或文件的权限。等等。

执行此类工作时,通常需要更改目标环境的权限。

我们来实际操作一下。
首先,以有权修改 index.html 文件的用户身份执行 chmod 命令。
请注意,
在修改目标文件之前,您还必须授予该用户对其父目录(在本例中为 /home/lpic)的权限。

[lpic@loclhost ~ ]$ chmod 707 /home/lpic/ [lpic@loclhost ~ ]$ chmod 706 /home/lpic/index.html 

`chmod` 命令用于更改文件权限。`
-R` 选项允许您将更改应用到目标目录中的文件,但它
不会授予执行权限,因此在这种情况下,我逐个更改了文件权限。

让我们来看看更改后的权限。

[lpic@loclhost ~ ]$ ls -l /home/lpic/ 总计 8 -rw----rw- 1 lpic linux 29 1月 18 11:08 index.html drw----rw- 2 lpic linux 4096 1月 14 01:17 test 

以 lpic2 用户身份打开 index.html 文件。

[lpic2@loclhost ~ ]$ cat /home/lpic/index.html 2018年1月18日星期四 11:08:57 JST 

这次文件内容显示出来了。
这意味着权限更改成功了。

最后

如果权限授予不正确,一个可能的后果是,
如果用户没有读取权限访问浏览器上发布的文件,则
可能会返回“禁止访问(403 错误)”消息。

然而,
从安全角度来看,允许任何人编辑和执行重要文件(例​​如配置文件)并不是一个好主意。

在服务器运行过程中,
对于创建更安全、更高效的网站至关重要
,以此帮助客户实现理想的网站或提供稳定的服务器运行
我们希望加深对权限的理解

与本文相关的设置 UID、设置 GID 和粘滞位等概念
我将总结

如果您觉得这篇文章对您有帮助,请点个“赞”!
0
加载中...
0票,平均分:0.00/10
7,047
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

中川沙金娜

我于 2016 年以应届毕业生的身份加入公司。最近,我一直在学习服务器的基础知识,感觉很不错。