web-dev-qa-db-fra.com

Comment empêcher un fichier sous le dossier de l'utilisateur d'être supprimé?

Comment rendre un fichier impossible à supprimer par l'utilisateur, même s'il se trouve sous son dossier personnel?

9
desgua

Il est possible de rendre un fichier impossible à supprimer, même de la racine, sur un système de fichiers ext2/3/4, en modifiant un attribut du système de fichiers du fichier:

$ 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
$

Plus d’informations sur chattr et lsattr pages de manuel.

Si vous souhaitez supprimer le fichier ultérieurement, vous devez utiliser

Sudo chattr -i dummy

avant d'utiliser rm.

Il y a deux inconvénients à cela:

  1. vous devez être root pour changer les attributs;
  2. vous pouvez oublier les attributs de ce fichier ou la façon de les modifier, de sorte qu'il semble que vous ne pouvez plus supprimer le fichier.
13
enzotib