GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Warum kann ein normaler Benutzer eine Datei nicht „chown“?

Warum ist chown Befehl nur root?
Warum können Nicht-Root-Benutzer chown nicht verwenden, um Dateien zu verschenken, die sie besitzen?

Akzeptierte Antwort:

Die meisten Unix-Systeme verhindern, dass Benutzer Dateien „verschenken“, dh Benutzer dürfen nur chown ausführen wenn sie über die Rechte des Zielbenutzers und der Zielgruppe verfügen. Seit der Verwendung von chown erfordert, die Datei zu besitzen oder root zu sein (Benutzer können sich niemals die Dateien anderer Benutzer aneignen), nur root kann chown ausführen um den Besitzer einer Datei auf einen anderen Benutzer zu ändern.

Der Grund für diese Einschränkung liegt darin, dass die Weitergabe einer Datei an einen anderen Benutzer in ungewöhnlichen, aber dennoch wichtigen Situationen zu schlimmen Ereignissen führen kann. Zum Beispiel:

  • Wenn auf einem System Festplattenkontingente aktiviert sind, könnte Alice eine weltweit beschreibbare Datei in einem Verzeichnis erstellen, auf das nur sie zugreifen kann (so dass niemand sonst auf diese weltweit beschreibbare Datei zugreifen kann) und dann chown diese Datei einem anderen Benutzer Bill gehören zu lassen. Die Datei würde dann unter Bills Festplattenkontingent zählen, obwohl nur Alice die Datei verwenden kann.
  • Wenn Alice eine Datei an Bill weitergibt, gibt es keine Spur, dass Bill diese Datei nicht erstellt hat. Dies kann ein Problem sein, wenn die Datei illegale oder anderweitig kompromittierende Daten enthält.
  • Einige Programme verlangen, dass ihre Eingabedatei einem bestimmten Benutzer gehört, um eine Anfrage zu authentifizieren (z. B. enthält die Datei einige Anweisungen, die das Programm im Namen dieses Benutzers ausführt). Dies ist normalerweise kein sicheres Design, denn selbst wenn Bill eine Datei mit syntaktisch korrekten Anweisungen erstellt hat, hat er möglicherweise nicht beabsichtigt, sie zu diesem bestimmten Zeitpunkt auszuführen. Nichtsdestotrotz kann es die Sache nur noch schlimmer machen, Alice zu erlauben, eine Datei mit beliebigem Inhalt zu erstellen und sie als Eingabe von Bill zu nehmen.

Linux
  1. Eine Einführung in die Überwachung von Linux-Benutzerkonten

  2. Linux chmod und chown – So ändern Sie Dateiberechtigungen und Eigentumsrechte in Linux

  3. Warum kann ich Cd nicht in einem Bash-Skript verwenden?

  4. Benutzerdateimanager – CWP

  5. Warum brauchen wir die .so.1-Datei unter Linux?

Warum ich unter Linux exa anstelle von ls verwende

So ändern Sie den Datei-/Gruppenbesitzer mit dem Befehl chown in Linux

Chown-Befehl in Linux (Dateibesitz)

Chown-Befehl in Linux (Dateibesitz ändern)

Apache kann nicht auf die Datei zugreifen, obwohl sie die Berechtigung hat?

Beispiele für chown-Befehle unter Linux