Firefox 删除了受 root 保护的文件?

Firefox 删除了受 root 保护的文件?

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

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

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

答案1

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

此外,目录的所有者可以删除该目录内的任何文件,无论粘滞位或其他权限如何。

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

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

chmod +t some-directory-name

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

sudo chown root some-directory-name

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

sudo chmod o+rwx some-directory-name

或者您可以确保您的团队有访问权限:

sudo chgrp yourgroup some-directory-name
sudo chmod g+rwx some-directory-name

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

祝您冒险顺利,无论它是什么。

答案2

要删除文件,您只需要拥有该文件所在文件夹的写入和执行权限。文件本身的权限无关紧要。

答案3

因为您可以根据目录的权限删除目录内的文件。

http://www.tuxfiles.org/linuxhelp/filepermissions.html

读取权限。在常规文件上,读取权限位表示可以打开和读取该文件。在目录中,读取权限意味着您可以列出目录的内容

写入权限。对于普通文件,这意味着您可以修改文件,也就是向文件写入新数据。对于目录,写权限意味着您可以在目录中添加、删除和重命名文件。这意味着,如果文件具有写权限位,则您可以修改文件的内容,但只有在文件目录的权限允许您这样做时,您才可以重命名或删除文件

执行权限。对于常规文件,这意味着您可以将文件作为程序或 shell 脚本执行。对于目录,执行权限(也称为“搜索位”)允许您访问目录中的文件并进入目录,例如使用 cd 命令。但是,请注意,虽然执行位允许您进入目录,但您不能列出其内容,除非您还具有该目录的读取权限。

相关内容