如何更改目录的权限

如何更改目录的权限

我正在使用 CentOS,我想知道如何更改其中包含多个文件的文件夹的权限。

我以 root 身份在文件夹上使用了以下命令(假设文件夹 =A):

chmod 777 (主目录/目录/A)

chmod g+r (A)

如果我以普通用户身份使用文件管理器查看文件夹,则看不到锁定图标,这表示已授予权限?但是,文件夹 A 内的所有文件仍然显示锁定图标,表示只有文件夹 A 已被授予权限,而其中的任何子目录均未被授予权限。

事实证明,在所有子目录上运行上述命令是一项非常艰巨的任务,因为子目录实在太多了。

谢谢!

答案1

为了设置文件夹和所有子文件夹/文件的权限,您需要在命令中使用递归选项:

chmod 777 -R /path/to/directory

有关使用 chmod 的更多信息,请参阅这里

更新:

免责声明:使用 chmod 777 将使你的文件夹可供所有人执行。请参阅下文了解设置

您的权限使用三个数字设置。

100 表示文件所有者
400 读取
200 写入
100 执行

10 代表文件组
40 读取
20 写入
10 执行

1 代表其他所有人
4 读取
2 写入
1 执行

在您的示例中,您授予所有者、组和每个人对文件的完整权限。例如,如果您希望授予所有者和组完整权限,但其他所有人仅授予读取和执行权限,则可以使用 775。

如果你希望使用字母表示而不是数字,请参阅这里

答案2

您可以使用 chmod 来更改权限位。-R 选项用于递归 - 用于目录。这些位被解释为 rwx,即读取、写入和可执行。如果 r =1、w =1 且 x =1。二进制 111 表示十进制中的 7。因此,您看到的是 7。现在,字段被确定为 u = 用户、组和其他。因此,如果您想向所有人授予权限,那么您可以执行 chmod -R 777 dir_name。此外,您可以说 chmod -R a+rwx dir,或者如果您想删除某些权限,那么您可以说 chmod -R ax dir - 这是为了删除可执行权限。

另外,您可以对 chmod 执行 man 来了解更多详细信息。

相关内容