如何防止用户文件夹下的文件被删除?

des*_*gua 9 root nautilus delete rm users

即使某些文件位于他/她的主文件夹下,如何才能使用户无法删除某些文件?

enz*_*tib 13

在 ext2/3/4 文件系统上,通过更改文件的文件系统属性,可以使文件无法删除,即使是从 root 删除:

$ cd
$ touch dummy
$ sudo chattr +i dummy
$ rm dummy
rm: remove write-protected regular empty file `dummy'? y
rm: cannot remove `dummy': Operation not permitted
$ sudo rm dummy
[sudo] password for enzotib: 
rm: cannot remove `dummy': Operation not permitted
$
Run Code Online (Sandbox Code Playgroud)

更多信息chattrlsattr手册页。

如果以后你想删除你应该使用的文件

sudo chattr -i dummy
Run Code Online (Sandbox Code Playgroud)

使用前rm

这样做有两个缺点:

  1. 您必须是 root 才能更改属性;
  2. 您可以忘记该文件的属性或更改它们的方式,因此您似乎无法再删除该文件。