chmod 777 还是 755?通过示例学习使用 chmod 命令
chmod 777 还是 755?通过示例学习使用 chmod 命令
本文将通过 chmod 命令的实际示例来教您如何在 Linux 中更改权限。
在 Linux 世界中,您迟早必须更改文件或目录的权限。这是通过 chmod 命令完成的。
在本文中,我将与您分享 chmod 命令的一些实际示例。我还将解释一些流行的术语,例如 chmod 777 或 chmod 755 或 chmod -r。
在您查看 chmod 示例之前,我强烈建议您学习 Linux 中文件权限的基础知识。一旦您了解了权限快连,使用 chmod 命令就会容易得多。
Linux 中的 chmod 命令
什么是 chmod? chmod 代表更改模式。该命令用于改变访问方式。
可是等等!这不是为了改变权限吗?实际上,在早期的 Unix 时代,权限被称为访问模式。这就是这个特定命令被命名为 chmod 的原因。
chmod 命令具有以下语法:
chmod [option] mode file
在了解如何使用 chmod 之前,您应该了解它的选项。
请注意,使用 -v 选项报告是否进行了更改或无需执行任何操作。当与-R选项结合使用时,-v可以产生大量输出。 --reference=FILE 让您使用FILE当前的权限模式作为对目标文件设置的权限。请注意,此选项需要双破折号前缀 (–) 而不是 (-)。
Chmod 命令示例
如果您知道必须对文件设置哪些权限,那么使用 chmod 命令就非常容易。
例如,如果希望所有者拥有所有权限,而组和公共没有权限,则需要以绝对模式设置权限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 最常用的情况之一可能是为文件提供执行位。通常在下载可执行文件后快连,您需要在使用它之前添加此权限。授予所有者、组和其他所有人执行文件的权限:
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 命令示例
在上面的示例中,我使用位掩码来设置新的模式。这些很容易计算。需要简单的添加。考虑以下:
您现在可以轻松查看我从哪里获得755、666、640。您不必使用位掩码来设置新权限。可以使用更人性化的方式。第二种格式如下所示:
chmod OPTIONS {u,g,o}{+,-,=}{r,w,x} /path/to/file
虽然这看起来很复杂,但其实很简单。首先输入 chmod 和您想要的 OPTIONS。然后,问问自己:我要为谁更改权限?用户、组、其他。这将为您提供命令的第一部分:
chmod OPTIONS {u,g,o}
完成该命令的下一步,您可以决定添加权限位 (+)、删除权限 (-) 或设置权限 (=)。最后一项将根据需要添加或删除权限,以根据您的请求设置权限。
chmod -v u+
下一部分是您决定应用(+)、删除(-)或匹配(=)的权限模式。您可以指定 rwx 的任意组合。
chmod -v u+rw
下一个示例将为所有者的文件应用读/写权限。详细选项将导致 chmod 报告操作。
chmod -v u+rw /path/to/file
下一个将递归地设置组对目录及其所有内容的写入权限。它只会报告变化。
chmod -cR g+w /path/to/directory
您可以组合多个要在权限上完成的操作,如下一个示例所示。它将确保所有者具有读/写/执行权限,还为组添加写权限并删除其他人的执行权限:
chmod u=rwx,g+w,o-x /path/to/file
最后一个将使用rFile作为参考来设置文件的权限。完成后,file的权限将与rFile完全相同
chmod --reference=/path/to/rFile /path/to/file
还有更多可与 chmod 一起使用的选项和模式,此处未涵盖或提及。我想将其保留为基本内容,并希望对一些新的 Linux 用户有所帮助。
一句警告!
使用chmod和sudo,您现在可以更改几乎所有文件的权限。这并不意味着您应该这样做。主目录之外的权限的设置方式是有原因的。改变它们很少能成为解决任何问题的适当方法。
我希望这些 chmod 命令示例对您有所帮助。有问题或建议吗?请在下面留言。