我正在 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--
在应用这两个命令后最终获得许可,那么别的东西已删除文件所有者的写入权限。