Comment puis-je empêcher l'utilisateur root de supprimer un fichier?

8

Je voudrais savoir si je peux empêcher l'utilisateur root de supprimer un fichier. C'est possible?

Aniruddha
la source
2
Éteignez l'ordinateur. Impossible de faire quoi que ce soit pour arrêter cela!
slm
2
Root est ce que dans le monde Windows on appelle le "superadmin" c'est un compte destiné à être utilisé spécifiquement car il peut faire tout ce qu'il veut. Même si vous deviez empêcher root de faire quelque chose, il n'y aurait aucun moyen de le faire. Les utilisateurs ne devraient avoir un accès root que si rien ne peut être fait avec les permissions / acls / setuid / capacités / sudo ou si cela serait plus long que cela ne vaut. Si cela vous inquiète, écrivez un script pour faire ce dont ils ont besoin pour root et donnez-leur des droits sudo pour ce script.
Bratchley
Pourquoi veux-tu faire cela?
Nils

Réponses:

13

Non, ce n'est pas possible. Vous pouvez définir l'attribut immuable avec chattr +i, ce qui rendra au moins irritant et non évident ce qui doit être fait pour autoriser l'écriture dans le fichier, mais ils peuvent simplement le réinitialiser. En outre, votre système de fichiers doit prendre en charge cela et activer les fonctionnalités.

SELinux peut également faire quelques limitations, mais encore une fois, il peut être désactivé.

La meilleure solution consiste à contrôler correctement les utilisateurs et les programmes en limitant leur accès et en ne leur permettant pas de s'exécuter en tant que root, sauf si cela est absolument nécessaire.

Chris Down
la source
1
Mais, bien sûr, SELinux et similaires peuvent empêcher root de le désactiver. :-)
Hauke ​​Laging
@HaukeLaging Root peut, à travers différentes configurations, modifier la mémoire arbitraire, ce qui la rend de plus en plus difficile avec chaque barrière. Jouer au chat et à la souris avec root n'a pas vraiment de sens (mais oui, il serait théoriquement possible d'empêcher root de le faire).
Chris Down du
@ChrisDown, SELinux peut certainement réduire root à un "utilisateur normal", en fonction des autorisations. Cela fait partie de l'idée, en fait.
vonbrand
1
@vonbrand Bien que cela puisse être quelque chose que SELinux souhaite faire, c'est difficile à faire dans la pratique. Comme je l'ai dit, c'est théoriquement possible, mais pratiquement improbable.
Chris Down
@ChrisDown, très possible, mais très peu Unixy, donc peu le font. Les doigts sont beaucoup trop habitués à faire certaines choses ... en plus, cela n'a de sens que pour les configurations paranoïdes terminales.
vonbrand
6

Comme d'autres l'ont dit, généralement, l'idée de root est qu'un utilisateur est autorisé à faire faire à la machine tout ce qu'elle peut faire. Il n'y a donc pas d'indicateur simple qui puisse empêcher root de supprimer intentionnellement un fichier ( chattr +ipeut empêcher une suppression accidentelle ).

Mais, malgré cela, il existe quelques solutions:

  1. Placez le fichier sur un serveur de fichiers et configurez le serveur de fichiers pour ne pas autoriser la suppression. Cela fonctionne car la racine locale n'est pas racine sur le serveur de fichiers.
  2. Placez le fichier sur un support WORM . Cela fonctionne car le matériel n'autorise pas l'écrasement, les données sont donc protégées. (L'écrasement n'est pas quelque chose que la machine peut faire.) Les options bon marché sont les CD-R et DVD-R. Assurez-vous que votre lecteur ne peut pas écraser (détruire) les sections déjà écrites. Il existe également des cartes SD WORM.
derobert
la source
0

Non.

Tout utilisateur disposant des privilèges "sudo" ou l'utilisateur root peut tout voir et supprimer.

Cependant, dans un système idéal, vous n'auriez pas à vous en préoccuper car un seul utilisateur dispose de super privilèges, et il ne les utilisera que lorsque cela sera nécessaire et toujours réactif.

RSFalcon7
la source
0

C'est possible dans des circonstances très spécifiques:

Vous pouvez débrancher le lecteur USB là où le changement se produit, ou déconnecter le câble Ethernet entre l'ordinateur et le NAS. Mais il est probable que le fichier soit corrompu ou inaccessible, ou les deux.

Autre qu'une action basée sur le matériel, vous pourrez peut-être restaurer le fichier à partir d'une sauvegarde précédente.

mouviciel
la source