chown - Operation nicht erlaubt

37

Ich bin als Minime angemeldet.

Ich verstehe nicht, warum es mir nicht erlaubt, Dateien zu sehen, die ich ohne su-Rechte besitze. Natürlich kann ich sudo verwenden, aber ich möchte verstehen, warum? wegen www-datengruppe?

chown minime:www-data user-functions.php

ls -lh

-rw-r--r--  1 minime minime    24K Jan  6 16:11 user-functions.php

Error:

chown: changing ownership of `user-functions.php': Operation not permitted

quelle

Antworten:

51

Nicht privilegierte Benutzer (nicht root) können keine chownDateien mit anderen Benutzernamen erstellen. Zur Verwendung chownmuss ein Benutzer über die Berechtigungen des Zielbenutzers verfügen. Mit anderen Worten, rootkann nur eine Datei an einen anderen Benutzer übergeben.

Wie hier erklärt (danke @slhck):

Nur Prozesse mit einer effektiven Benutzer-ID, die der Benutzer-ID der Datei entspricht, oder mit entsprechenden Berechtigungen können den Besitz einer Datei ändern. Wenn _POSIX_CHOWN_RESTRICTED für path gilt:

  • Das Ändern der Benutzer-ID ist auf Prozesse mit entsprechenden Berechtigungen beschränkt.

  • Das Ändern der Gruppen-ID ist für einen Prozess mit einer effektiven Benutzer-ID zulässig, die der Benutzer-ID der Datei entspricht, jedoch ohne entsprechende Berechtigungen, wenn der Eigentümer der Benutzer-ID der Datei entspricht oder (uid_t) -1 und die Gruppe gleich ist entweder an die effektive Gruppen-ID des aufrufenden Prozesses oder an eine seiner zusätzlichen Gruppen-IDs.

Die Gründe dafür wurden von @Gilles in dieser Unix- und Linux-Antwort gut erklärt :

Der Grund für diese Einschränkung ist, dass die Weitergabe einer Datei an einen anderen Benutzer in seltenen, aber immer noch wichtigen Situationen zu schlechten Ergebnissen führen kann. Beispielsweise:

  • Wenn auf einem System Datenträgerkontingente aktiviert sind, kann Alice unter einem Verzeichnis, auf das nur sie Zugriff hat, eine Datei mit weltweiter Schreibberechtigung erstellen (sodass niemand anderes auf diese Datei mit weltweiter Schreibberechtigung im Verzeichnis zugreifen kann) und sie dann ausführen, um die Datei zu ihrem Eigentum zu machen ein anderer Benutzer Bill. Die Datei würde dann unter Bills Datenträgerkontingent zählen, obwohl nur Alice die Datei verwenden kann.
  • Wenn Alice Bill eine Datei übergibt, gibt es keine Spur, dass Bill diese Datei nicht erstellt hat. Dies kann ein Problem sein, wenn die Datei ungültige oder auf andere Weise gefährdende Daten enthält.
  • Einige Programme erfordern, dass ihre Eingabedatei einem bestimmten Benutzer gehört, um eine Anforderung zu authentifizieren (die Datei enthält beispielsweise einige Anweisungen, die das Programm für diesen Benutzer ausführt). Dies ist normalerweise kein sicheres Design, denn selbst wenn Bill eine Datei mit syntaktisch korrekten Anweisungen erstellt hätte, hätte er möglicherweise nicht beabsichtigt, diese zu diesem bestimmten Zeitpunkt auszuführen. Trotzdem kann es die Sache nur verschlimmern, wenn Alice die Möglichkeit hat, eine Datei mit beliebigen Inhalten zu erstellen und als Eingabe von Bill nehmen zu lassen.
terdon
quelle
Danke @slhck Ich habe die manSeite überprüft und konnte keine explizite Erwähnung finden. Antwort aktualisiert.
Terdon
toll! viel klar jetzt ... was ist, wenn minime Teil der WWW-Datengruppe ist?
@SandroDzneladze Nein, Sie müssen dieselbe Benutzer-ID haben wie der Benutzer, für den Sie eine Anzeige erstellen möchten.
Terdon