通过这些示例学习使用 Chmod 命令

在 Linux 世界中,您迟早必须更改文件或目录的权限。 这是通过 修改 命令。

在本文中,我将与您分享一些 chmod 命令的实际示例。 我还将解释一些流行的术语,例如 chmod 777 或 chmod 755 或 chmod -r。

在您查看 chmod 示例之前,我强烈建议您学习 Linux 中文件权限的基础知识。 了解权限后,使用 chmod 命令会容易得多。

Linux中的chmod命令

什么是chmod? chmod 代表更改模式。 该命令用于更改访问模式。

可是等等! 它不是为了更改权限吗? 实际上,在早期的 Unix 时代,权限被称为访问模式。 这就是为什么这个特定的命令被命名为 chmod。

chmod 命令具有以下语法:

chmod [option] mode file

在您了解如何使用之前 修改,你应该知道它的选项。

  • -v : 为每个处理的文件输出一个诊断
  • -C :像详细但仅在进行更改时报告
  • –参考=FILE : 使用 FILE 的模式而不是 MODE 值
  • R : 递归更改权限

请注意,使用 -v 选项报告是否进行了更改或无需执行任何操作。 当与 -R 选项, -v 可以产生大量的输出。 –参考=文件 让您使用 FILE 的当前权限模式作为对目标文件设置的权限。 请注意,此选项需要双破折号前缀 (–) 而不是 (-)。

chmod 命令示例

如果您知道必须对文件设置哪些权限,则使用 chmod 命令非常容易。

为了 example,如果希望所有者拥有组和公共的所有权限而没有权限,则需要在绝对模式下设置权限700:

chmod 700 filename

您可以在符号模式下执行相同的操作。

chmod u=rwx filename

如果您想以一种简单的方式了解 Linux 文件在数字或符号模式下的权限,您可以使用这个 chmod 计算器。 只需选择适当的权限,它就会告诉您绝对和符号模式下的权限。

递归更改目录中所有文件的权限

chmod 具有递归选项,允许您更改目录及其子目录中所有文件的权限。

chmod -R 755 directory

chmod 777:适合所有人的一切

您可能听说过 chmod 777。该命令将授予所有者、组和公众读取、写入和执行权限。

如果要将模式更改为 777,可以使用如下命令:

chmod 777 filename

chmod 777 被认为具有潜在危险,因为您将文件/目录的读取、写入和执行权限授予每个人(您系统上的所有人)。 你应该完全避免它。

chmod +x 或 chmod a+x:为所有人执行

可能是最常用的案例之一 修改 是给一个文件执行位。 通常在下载可执行文件后,您需要在使用它之前添加此权限。 授予所有者、组和其他所有人执行文件的权限:

chmod +x /path/to/file

chmod 755:只有所有者可以为每个人写、读和执行

下一个命令将在文件上设置以下权限: rwxr-xr-x. 只有所有者被允许写入文件。 所有者、组成员和其他所有人都将拥有读取和执行权限。

chmod 755 /path/to/file

chmod 700:一切只为所有者

该命令将授予所有者读取、写入和执行权限。 组和其他人将没有权限,甚至没有读取权限。

chmod 700 /path/to/file

chmod 666:没有人执行

授予所有者、组和其他所有人对文件的读写权限。

chmod -c 666 /path/to/file

chmod 644:每个人都可以读,只有所有者可以写

有了下一个,所有者将具有读写权限,而组和其他所有人都具有读取权限。

chmod 644 /path/to/file

chmod 600:所有者可以读写,其他任何人都不能

有了下一个,所有者将在组中进行读写,而其他所有人将没有任何权限。

chmod 600 /path/to/file

符号模式下的 chmod 命令示例

在上面的例子中,我使用位掩码来设置新的 MODE。 这些很容易计算。 需要简单的添加。 考虑以下:

  • X = 1
  • W = 2
  • R = 4

你现在可以很容易地看到我从哪里得到 755、666、640。 您不必使用位掩码来设置新权限。 一种更易于阅读的方式是可用的。 第二种格式如下所示:

chmod OPTIONS {u,g,o}{+,-,=}{r,w,x} /path/to/file

虽然这看起来很复杂,但其实很简单。 你首先从打字开始 修改选项 你要的那个。 然后,问问自己:我在为谁更改权限? 用户、组、其他。 这将为您提供命令的第一部分:

chmod OPTIONS {u,g,o}

完成命令的下一步,您可以决定添加权限位 (+)、删除权限 (-) 或设置权限 (=)。 最后一个将根据需要添加或删除权限,以根据您的要求设置权限。

chmod -v u+

下一部分是您决定应用 (+)、删除 (-) 或匹配 (=) 的权限模式。 您可以指定 rwx 的任意组合。

chmod -v u+rw

这下 example 将为所有者申请文件的读/写权限。 详细选项将导致 修改 报告行动。

chmod -v u+rw /path/to/file

下一个将递归地设置组对目录及其所有内容的写权限。 它将仅报告更改。

chmod -cR g+w /path/to/directory

您可以组合多个操作以在下面这样的权限上完成 example. 它将确保所有者具有读/写/执行权限,还为组添加写权限并为其他所有人删除执行:

chmod u=rwx,g+w,o-x /path/to/file

最后一个将使用 rFile 作为设置文件权限的参考。 完成后,文件的权限将与 rFile 完全相同

chmod --reference=/path/to/rFile /path/to/file

有更多的选项和模式可以与 修改 此处未涵盖或提及的内容。 我想保持这个基本,希望能帮助一些新的 Linux 用户。

一句警告!

修改sudo 您现在必须有权更改几乎所有文件的权限。 这并不意味着您应该这样做。 出于某种原因,您的主目录之外的权限被设置为它们的方式。 更改它们很少是任何问题的适当解决方案。

我希望这些 chmod 命令示例对您有所帮助。 有问题或建议? 请在下方留言。