Ich glaube (nicht sicher), dass der Eigentümer einer Datei / eines Verzeichnisses und der Root-Benutzer die einzigen Benutzer sind, die die Berechtigungen einer Datei / eines Verzeichnisses ändern dürfen. Bin ich korrekt oder gibt es andere Benutzer, die ebenfalls die Berechtigungen ändern dürfen?
files
permissions
user226341
quelle
quelle
Für den normalen Betrieb können nur root und der Eigentümer
chmod
. Darüber hinaus können rootchown
undchgrp
und weiterhin der Eigentümer,chgrp
solange der Eigentümer Mitglied der Zielgruppe ist.Aus Sicherheitsgründen gibt es jedoch einen anderen Fall: Jeder Benutzer mit Schreibberechtigung für das Verzeichnis, in dem sich die Datei befindet, kann die Datei durch eine Kopie ersetzen und so Eigentümer werden, sodass er die Berechtigungen und Inhalte ändern kann.
Wie so:
Wir haben ein Verzeichnis erstellt und eine Datei als root geschrieben. Da root die Datei besitzt, können wir weder darauf schreiben, noch können wir chmod:
Wir haben jedoch eine Schreibberechtigung für das Verzeichnis, sodass wir die Datei ersetzen können, um den Besitz zu erlangen:
Und jetzt, da wir der Eigentümer sind, können wir natürlich mit dieser Datei machen, was wir wollen:
Ebenso kann jeder Benutzer mit Schreibberechtigung für ein beliebiges Verzeichnis im vollständigen Pfad, der zur Datei führt, die Verzeichnisstruktur ab diesem Zeitpunkt ersetzen und so den Besitz der Datei mit dem angegebenen Namen erlangen. Der Besitz oder die Berechtigungen der tatsächlichen Originaldatei (die wir in "yourfile2" umbenannt haben) werden natürlich nicht geändert.
quelle
getfacl / setfacl
), die mehr Flexibilität bieten als die klassischen Dateiberechtigungen. Das Löschen von Dateien in * nix erfolgt durch Entfernen des Links zu der Datei aus dem Verzeichnis. Das Entfernen von Dateien wird also immer durch die Verzeichnisberechtigungen gesteuert. Die Dateiberechtigungen selbst spielen dort keine Rolle.Der
chmod
Befehl ruft den Systemaufruf mit demselben Namen ziemlich direkt auf. Die Manpage für denchmod(2)
Systemaufruf (unter Linux 4.10) lautet:Ja, ein Prozess, der als Root ausgeführt wird, kann die Berechtigungen einer Datei ändern, wenn die
CAP_FOWNER
Funktion nicht gelöscht wurde .Interessant ist auch
chown
; Die Manpage fürchown(2)
sagt:quelle