[初学者] 权限简单说明
我是系统解决方案部门的中川。
前几天,我收到了一个关于权限的询问,所以
在这篇文章中我自己查了资料并总结了一下。
什么是许可?
Linux 上目录和文件的所有权是确定的。
权限操作目录和文件的权利。
虽然也称为访问权限,但在本文中我们将其与权限统一起来。
权限由权限、目标用户和符号确定,如下所示。
权威 | 权限的字符表示 | 权威的数字表示 | 用户 |
---|---|---|---|
读取权限 | r | 4 | 拥有用户 |
写权限 | w | 2 | 属于所属组的用户 |
执行权限 | x | 1 | 其他用户 |
无权限 | - | 0 |
检查权限
让我们实际检查一下权限。
您可以通过在目标目录/文件上运行 ls -l 来检查这一点。
作为示例,让我们检查 /home/lpic/index.html 文件。
ls -l /home/lpic/index.html 总计 8 -rw------ 1 lpic linux 16 Jan 14 01:16 index.html drwx------ 2 lpic linux 4096 Jan 14 01:17 测试
让我解释一下权威的含义。
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 测试
由于目标是目录,因此权限的第一个字符显示为“d”。
test目录的权限含义如下:
所有者用户(lpic)权限 = rwx
⇒ 可以显示目录中的文件列表、创建文件以及访问目录中的文件。
所有者组(linux)权限=---
⇒ 无法显示目录中的文件列表、创建或删除文件或访问文件。
其他用户的权限=---
⇒ 无法显示目录中的文件列表、创建/删除文件或访问文件。
以所有者用户身份操作
尝试以具有实际权限的用户身份操作它。
以具有读取权限的 lpic 用户身份对索引文件进行 Cat 操作。
[lpic@loclhost ~ ]$ cat /home/lpic/index.html JST 2018 年 1 月 18 日星期四 11:08:57
将测试目录列为具有读取权限的 lpic 用户。
[lpic@loclhost ~ ]$ ls -ld /home/lpic/test/ drwx------ 2 lpic linux 4096 Jan 14 01:17 /home/lpic/test/
作为具有读取权限的 lpic 用户,导航到测试目录。
[lpic@loclhost ~]$ cd /home/lpic/test/ [lpic@loclhost 测试]$
⇒所有执行结果均成功!
以非所有者用户身份操作
接下来,让我们看看当您以没有权限的用户身份运行它时会发生什么。
以没有读取权限的 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用户切换到test目录。
[lpic2@loclhost ~ ]$ cd /home/lpic/test/ bash: cd: /home/lpic/test/: 权限被拒绝
⇒由于您没有权限,因此将返回“权限被拒绝”。
以除所属用户和组之外的用户身份进行操作
有多种方法可以使 lpic2 用户与 lpic2 交互。
- 更改目标目录/文件的所有者。
・更改所属组的权限后,将lpic2用户添加到所属组。
・更改目标目录/文件的权限。 ETC。
在执行此类任务时,通常需要更改目标环境的权限。
让我们实际运行一下。
首先,以可以操作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 Jan 18 11:08 index.html drw----rw- 2 lpic linux 4096 Jan 14 01:17 测试
以 lpic2 用户身份猫索引.html。
[lpic2@loclhost ~ ]$ cat /home/lpic/index.html JST 2018 年 1 月 18 日星期四 11:08:57
这次我能够显示文件的内容。
这意味着权限已正确更改。
最后
如果没有正确授予权限,可能产生的影响的一个例子是,
如果在浏览器上发布的文件没有一般(其他)用户的读取权限,
即使该文件已被访问。
但是,
从安全角度来看,允许任何人编辑和执行配置文件等重要文件的设置并不是一个好主意。
在操作服务器时,为每个文件设置适当的权限
将帮助您创建更安全、更优化的站点。
我想加深对权限的理解,将其作为提供客户想要的网站或稳定的服务器运行的一种手段
我会总结一下与本文相关的设置 UID、设置 GID 和粘滞位的内容