附加信息

附加信息

我正在 Drupal 中创建 3 个网站,需要经常更改settings.php每个网站文件夹中的文件。出于安全原因,默认情况下该文件是只读的,因此在编辑它之前,我使用:

chmod a+w settings.php

我进行更改,然后再次强化权限:

chmod go-w settings.php

这通常有效并导致文件权限如下所示:

-r--r--r--

然而,我注意到在我的一个 Drupal 站点中,当我使用chmod go-w settings.php它时,它改为

-rw-r--r--

我仍然可以作为文件的所有者修改它。

这些文件本质上是相同的,并且位于相同的文件夹结构甚至相同的祖先目录中,但我强化权限的命令导致了一组不同的权限。为什么我的chmod命令对这两个文件的影响不同?如何强制 -rr--r-- 权限?

附加信息

  • 在 Ventura 13.4.1 上使用 MacOS 终端
  • 在我了解 chmod 命令之前,我尝试使用sudo vim settings.php它来编辑文件,但没有成功。不确定这是否会以某种方式影响权限。

编辑:我添加此编辑是为了不误导将来查看此内容的任何人。我对更改权限命令如何工作的理解是错误的。根据我的问题的答案,生成的权限-r--r--r--实际上是不正确的,而不是-rw--r--r--

答案1

  • chmod a+w settings.php向用户/组/其他添加写权限(如果尚不存在)。通常这会导致rw?rw?rw?权限,可能?-x
  • chmod go-w settings.php删除组/其他组的写权限(如果存在)。在上一个命令之后运行此命令将导致rw?r-?r-?,其中?可以表示-orx和 与之前没有变化

您将有望看到,虽然第一个命令为文件所有者(即您)添加了写权限,但第二个命令并未将其删除。如果您通常r--r--r--在应用这两个命令后最终获得许可,那么别的东西已删除文件所有者的写入权限。

相关内容