【面向初学者】权限简述

我是系统解决方案部门的中川先生。
前几天我收到一个关于权限的咨询,所以我进行了
调查,并将找到的信息整理成了这篇文章。
什么是权限?
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) 权限 = rw-
⇒ 您可以使用 cat 等命令查看文件,或使用 vi 命令编辑内容。
所有者组(linux)权限 = ---
⇒文件无法查看、编辑或访问。
其他用户的权限 = ---
⇒ 文件无法查看、编辑或访问。
接下来,我们来看一下 /home/lpic/test 目录。
要检查单个目录,请使用带有 -ld 选项的 ls 命令。
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 用户的身份运行 `cat` 命令来查看索引文件,该用户没有读取权限。
[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 错误)。
但是,
从安全角度来看,将系统设置为允许任何人编辑和执行重要文件(例如配置文件)并不是一个好主意。
在服务器运行过程中,为每个文件设置合适的权限
有助于我们创建更安全、更高效的网站。
我希望加深对权限的理解,以此作为为客户提供他们期望的网站或确保服务器稳定运行的一种途径
我将总结与本文相关的
0