chmod 777命令经常被建议作为在Linux中管理网络服务器时快速修复权限问题的解决方案。现在,你可能想知道在Linux中chmod 777是什么意思?好吧,给你一个基本的入门知识,它授予一个文件或目录的所有权限,包括敏感权限。这就是说,它还有更多的内容,所以我们建议在下面阅读所有关于chmod 777命令的内容。关于这一点,让我们转到文章。
在这篇文章中,我们将详细介绍了 chmod 777
在Linux中的含义以及你是否应该使用它。但在这之前,我们先解释了Linux中的文件权限模型。
Linux中的文件权限是如何工作的?
在理解 chmod 777
命令之前,让我们先了解一下Linux中文件权限模式的基本原理。在Linux中,对文件和目录的访问对每个人来说都是不可用的。它们是根据所有权和属性来划分的。有三个不同类别的用户可以访问文件系统,他们如下:
- Owner
- Group
- Others
这里,”Owner” 是指创建文件/目录的文件所有者。”Group” 是指一组成员,”Others” 是指可以访问系统的其他所有人。这些类别中的每一个都有一套不同的权限属性。同样有三种类型的权限:读取(r),写入(w)和执行(x)。
- 读取 (r) – 用户只能读取或查看文件/目录。他们不能对文件做任何修改。
- 写入 (w) – 用户可以修改文件或目录。你可以删除、移动、重命名或对文件或目录做任何修改。
- 执行 (x) – 用户可以运行脚本或使文件可执行。
举个例子,一个文件的所有者很可能拥有所有三种权限( rwx
),而一个组员或系统中的其他用户可能只有读(r)的权限。如果你从互联网上下载了一个脚本或可执行文件,系统所有者将有读取和写入权限,但没有默认授予的执行权限。基本上,这三类用户对一个文件或目录都会有不同的权限组合。
现在你对权限模型有了基本的了解,是时候了解Linux中权限的编号系统了。
Linux中的文件权限:数值系统
在Linux系统中,读、写和执行的权限是以下列方式表示的。这些权限的数值是由它们的二进制8位数据得出的,但为了使指南易于理解,我们不做过多的详细说明。
- 读取 (r) – 4
- 写入 (w) – 2
- 执行 (x) – 1
- 无权限 – 0
基于上述数字系统,不同的权限集可以有很多组合。其中大多数使用三位数系统,代表权限数字的总和。请参考下面的表格,以便更好地理解这一点。
值 | 权限 | 符号 |
---|---|---|
0 (0+0+0) | 无权限 | --- |
1 (0+0+1) | 仅执行 | --x |
2 (0+2+0) | 仅写入 | -w- |
3 (0+2+1) | 读取和执行 | -wx |
4 (4+0+0) | 仅读取 | r-- |
5 (4+0+1) | 读取和执行 | r-x |
6 (4+2+0) | 读取和写入 | rw- |
7 (4+2+1) | 读取,写入和执行 | rwx |
从上表中你可以了解到, 7的值表示 rwx
权限组合。因此,如果一个文件或目录被授予了7的权限,它就拥有所有三种权限–读、写和执行。但是,在Chmod命令中三个777是什么意思?好吧,转到下一节来了解Chmod 777在Linux中的含义。
Chmod 777权限是什么意思?
在继续前进之前,你需要知道的最后一件事是,这些数字表示完整的文件/目录权限。这里,第一个数字是指所有者,第二个数字是指组,第三个数字是指其他。我们已经用下面的chmod 777命令的例子解释了这一点。
Chmod本质上意味着 “改变文件或目录的模式”。当我说777时,第一个数字(本例中为7)指的是所有者的权限。第二个数字(同样是7)是指组的权限,第三个数字(同样是7)表示其他用户的权限值。总结一下,777意味着文件/目录被授予所有三个用户类别的读、写和执行权限,包括所有者、组成员和其他人。它被表示为 rwxrwxrwx
。
基本上,一旦使用这个命令,系统中的任何人都可以查看、修改、删除、执行或对该文件或目录做任何事情。这就是为什么 chmod 777
命令被认为是非常敏感的,而且强烈不鼓励用户使用它。这可能会带来安全风险,使你的网络服务器暴露在恶意行为者面前。
作为替代方案,我们建议使用更好、更安全的 chmod 644
命令来设置文件权限。正如你可以理解的那样,644的权限号将只授予所有者(第1位)读写(6)的权限。此外,读(4)的权限会分配给所有组员(第2位)和其他用户(第3位)。
如何在Linux中使用Chmod 777命令?
要在你的Linux电脑上或Windows电脑的WSL中运行 chmod 777
命令,你需要遵循以下语法。
chmod 777 <filepath or filename>
你也可以用其他流行的文件权限组合代替777的数值,如下图所示。
chmod 644 <filepath or filename>
要检查一个现有文件/目录的数字权限值,你可以使用下面的命令:
stat -c "%a" <filepath or filename>
小结
所以这就是你需要知道的关于Chmod 777和它在Linux中的作用的一切。如上所述,我们不建议给所有用户提供权限,特别是当你的网络服务器面临问题时。相反,我们建议你使用644或755的文件权限值,因为它们的风险没有那么高。您还可以阅读40个最常用的Linux命令行大全一文,以深入了解Linux。最后,如果你有任何问题,请在下面的评论区告诉我们。
评论留言