Comment créer un fichier même si l'utilisateur root ne peut pas le supprimer?
Comment créer un fichier même si l'utilisateur root ne peut pas le supprimer?
Réponses:
Réponse simple: vous ne pouvez pas, root peut tout faire.
Vous pouvez définir l'attribut "i" avec chattr (au moins si vous êtes sur l'extension {2,3,4}), ce qui rend un fichier immuable, mais root peut simplement annuler l'attribut et supprimer le fichier de toute façon.
Plus complexe (et solution de contournement hack laide): Mettez le répertoire que vous voulez immuable pour root sur le serveur distant et montez-le via NFS ou SMB. Si le serveur n'offre pas d'autorisations d'écriture, cela verrouille le compte racine local. Bien sûr, le compte root local peut simplement copier les fichiers localement, démonter le truc distant, mettre la copie en place et changer cela.
Vous ne pouvez pas empêcher root de supprimer vos fichiers. Si vous ne pouvez pas faire confiance à votre racine pour conserver les fichiers intacts, vous rencontrez un problème social, pas technique.
mv
?" (qui est une blague boiteuse basée sur la théosophie chrétienne, et une blague terrible si vous n'êtes pas familier avec le domaine)
Mettez-le sur un CD-rom! ;)
(cela devrait être un commentaire mais je ne peux pas faire de commentaires ...)
Il y a longtemps, j'ai écrit un correctif du noyau (vers 2.2.ancient) où tenter de supprimer un fichier appelé SELFDESTRUCT a tué le processus d'appel. Cela évitait les "rm -rf *" accidentels.
Vous pouvez utiliser chattr +i
pour rendre un fichier immuable.
Bien sûr, un utilisateur averti avec un accès root pourrait toujours utiliser chattr -i
pour supprimer l'attribut immuable, puis supprimer le fichier, mais il pourrait également annuler toutes les autres tentatives de blocage de l'accès répertoriées ici.
Je dirais que chattr est la bonne façon pour Unix de le faire.