Wie kann ich den Root-Benutzer daran hindern, eine Datei zu löschen?

8

Ich möchte wissen, ob ich verhindern kann, dass der Root-Benutzer eine Datei löscht. Ist es möglich?

Aniruddha
quelle
2
Schalten Sie den Computer aus. Es ist nicht möglich, etwas zu tun, um dies zu stoppen!
slm
2
Root ist das, was in der Windows-Welt als "Superadmin" bezeichnet wird. Es ist ein Konto, das speziell verwendet werden soll, weil es alles kann, was es will. Selbst wenn Sie Root daran hindern würden, etwas zu tun, gäbe es keine Möglichkeit, dies zu tun. Benutzer sollten nur dann Root-Zugriff erhalten, wenn mit Berechtigungen / acls / setuid / functions / sudo nichts getan werden kann oder wenn dies mehr Zeit kostet, als es wert ist. Wenn Sie sich darüber Sorgen machen, schreiben Sie ein Skript, um das zu tun, wofür sie root benötigen, und geben Sie ihnen Sudo-Rechte für dieses Skript.
Bratchley
Warum willst du das tun?
Nils

Antworten:

13

Nein, das ist nicht möglich. Sie können das unveränderliche Attribut mit festlegen chattr +i, wodurch es zumindest irritierend und nicht offensichtlich wird, was getan werden muss, um das Schreiben in die Datei zu ermöglichen, aber sie können es einfach wieder deaktivieren. Außerdem muss Ihr Dateisystem dies unterstützen und die Funktionalität aktivieren.

SELinux kann auch einige Einschränkungen vornehmen, aber auch hier kann es deaktiviert werden.

Die bessere Lösung besteht darin, Benutzer und Programme ordnungsgemäß zu steuern, indem ihr Zugriff eingeschränkt wird und sie nicht als Root ausgeführt werden dürfen, es sei denn, dies ist unbedingt erforderlich.

Chris Down
quelle
1
Aber natürlich kann SELinux und dergleichen verhindern, dass root es deaktiviert. :-)
Hauke ​​Laging
@HaukeLaging Root kann durch unterschiedliche Konfigurationen beliebigen Speicher ändern, sodass dies mit jeder Barriere immer schwieriger wird. Das Spielen von Katz und Maus mit root hat nicht wirklich viel Sinn (aber ja, es wäre theoretisch möglich, root davon abzuhalten).
Chris Down
@ChrisDown, SELinux kann root sicherlich auf einen "normalen Benutzer" reduzieren, was die Berechtigung betrifft. Es ist in der Tat Teil der ganzen Idee.
vonbrand
1
@vonbrand Während diese etwas sein kann , dass SELinux begehrt zu tun, ist es schwierig , in der Praxis zu tun. Wie gesagt, es ist theoretisch möglich, aber praktisch unwahrscheinlich.
Chris Down
@ ChrisDown, sehr gut möglich, aber sehr un-Unixy, so wenige tun es. Die Finger sind viel zu daran gewöhnt, bestimmte Dinge zu tun ... außerdem ist es nur für endlos paranoide Konfigurationen sinnvoll.
vonbrand
6

Wie andere gesagt haben, ist die Idee von root im Allgemeinen, dass ein Benutzer die Maschine dazu bringen darf, alles zu tun, was die Maschine tun kann. Es gibt also kein einfaches Flag, das verhindern kann, dass root absichtlich eine Datei löscht ( chattr +ikann ein versehentliches Löschen verhindern ).

Trotzdem gibt es einige Lösungen:

  1. Legen Sie die Datei auf einen Dateiserver und konfigurieren Sie den Dateiserver so, dass das Löschen nicht zulässig ist. Dies funktioniert, weil das lokale Stammverzeichnis kein Stammverzeichnis auf dem Dateiserver ist.
  2. Legen Sie die Datei auf WORM- Medien. Dies funktioniert, da die Hardware kein Überschreiben zulässt, sodass die Daten geschützt sind. (Überschreiben kann das Gerät nicht.) Günstige Optionen sind CD-R und DVD-R. Stellen Sie sicher, dass Ihr Laufwerk bereits geschriebene Abschnitte nicht überschreiben (zerstören) kann. Es gibt auch WORM SD-Karten.
derobert
quelle
0

Nein.

Jeder Benutzer mit "sudo" -Berechtigungen oder der Root-Benutzer kann alles sehen und löschen.

In einem idealen System müssten Sie sich darüber jedoch keine Sorgen machen, da nur ein Benutzer über Superberechtigungen verfügt und diese nur dann verwendet, wenn dies erforderlich und immer ansprechbar ist.

RSFalcon7
quelle
0

Es ist unter ganz bestimmten Umständen möglich:

Sie können das USB-Laufwerk, an dem die Änderung auftritt, vom Stromnetz trennen oder das Ethernet-Kabel zwischen dem Computer und dem NAS trennen. Es besteht jedoch die Möglichkeit, dass die Datei beschädigt oder nicht erreichbar ist oder beides.

Abgesehen von hardwarebasierten Aktionen können Sie möglicherweise die Datei aus einer vorherigen Sicherung wiederherstellen.

Mouviciel
quelle