Firefox 删除受 root 保护的文件?

tuk*_*uks 2 permissions firefox root files

Firefox 启动时,会在用户设置目录中创建两个文件:places.sqlite-shmplaces.sqlite-wal,并在退出时删除它们。

只是为了实验,我设置了这些文件的权限,以便只有 root 可以读/写它们。但是当我关闭 Firefox 时,这些文件被删除了!这怎么可能?Firefox 没有以 root 权限运行...

不要问我为什么要这样做,我只是好奇

jef*_*eff 10

对目录具有写权限的用户可以删除该目录中的任何文件,除非该目录设置了“粘性”位(通常在 上设置/tmp)。

此外,目录的所有者可以删除该目录中的任何文件,而不管粘滞位或其他权限。

在目录上设置的“粘性”位有时称为“受限删除标志”。

如果您想阻止您的用户删除这些文件,请设置父目录的粘滞位:

chmod +t some-directory-name
Run Code Online (Sandbox Code Playgroud)

之后,您还需要更改目录的所有权(您需要以 root 身份执行此操作):

sudo chown root some-directory-name
Run Code Online (Sandbox Code Playgroud)

您需要确保您的用户仍然可以写入该目录,如果失去所有权使您的用户没有写入权限,您可以将写入权限授予“其他”:

sudo chmod o+rwx some-directory-name
Run Code Online (Sandbox Code Playgroud)

或者您可以确保您的组具有访问权限:

sudo chgrp yourgroup some-directory-name
sudo chmod g+rwx some-directory-name
Run Code Online (Sandbox Code Playgroud)

(组所有权不足以让您删除根拥有的文件。)

祝你的冒险好运,无论它们是什么。