Comment créer un fichier même si l'utilisateur root ne peut pas le supprimer?
linux
permissions
files
Kumar
la source
la source
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.
la source
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 ...)
la source
Placez votre fichier sur un système de fichiers en lecture seule. Il peut s'agir d'un FS distant où root n'est plus root, d'un CD-ROM ou d'un périphérique amovible qui peut être protégé en écriture, par exemple une carte SD.
la source
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.
la source
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.
la source