Zahlungsmethoden Abuse

CHGRP LINUX-Befehl

14.12.2021, 10:30

Beim Betrieb von Linux denken die Benutzer oft nicht darüber nach, wem eine Datei gehört. Wenn es jedoch darum geht, einen Server zu betreiben, ändert sich die Situation. Um die Sicherheit zu erhöhen, erhält der Server seinen eigenen Benutzer. Es ist nicht ungewöhnlich, dass Server dieselbe Gruppe verwenden, z. B. www-data. Als Nächstes wollen wir uns ansehen, wie diese Funktion mit Dateien und Verzeichnissen funktioniert. Besonderes Augenmerk werden wir auf symbolische Links legen, da diese bei unsicheren Einstellungen Probleme verursachen können.

Was bedeutet das?

Der Standard für Dateiberechtigungen kam von Unix zu Linux. So hat jedes Objekt einen Benutzer, die Gruppe beschreibt darüber hinaus die Rechteanderer Benutzer(other). Die Berechtigungen bestehen aus drei Elementen: Lesen, Schreiben, Ausführen. Der Befehl umask wird verwendet, um die Berechtigungen zu ändern, aber die Befehle chown werden verwendet, um den Besitzer und die Gruppe direkt zu ändern. Der Befehl ls kann verwendet werden, um die aktuellen Berechtigungen anzuzeigen.

Syntax und Optionen

Allgemeine Ansicht des Befehls chgrp:

$ chgrp [options] new_group file_name

Liste der üblichen Optionen für den Befehl chgrp:

  1. -h - arbeitet direkt mit den symbolischen Links selbst;
  2. --dereference - arbeitet mit Dateien, nicht mit symbolischen Links selbst. Wird standardmäßig verwendet;
  3. -R - rekursive Verarbeitung eines Verzeichnisses mit seinem gesamten Inhalt;
  4. -H - folgt dem symbolischen Link und ändert die Attribute der Datei/des Verzeichnisses. Wird in Verbindung mit dem Parameter -R verwendet;
  5. -L - folgt dem symbolischen Link und setzt die rekursive Verarbeitung fort. Wird in Verbindung mit dem Parameter -R verwendet;
  6. -P - wenn ein symbolischer Link gefunden wird, wird nur dieser verarbeitet. Wird zusammen mit dem Parameter -R verwendet und ist der Standardwert;
  7. --reference=file_name - verwendet die Beispielgruppe;
  8. -c - gibt nur Änderungen bei der Verarbeitung aus;
  9. -v - Ausgabe von Informationen über jedes verarbeitete Objekt.

Verwendung des Befehls

Das einfachste Beispiel für die Verwendung des Befehls chgrp. Das folgende Beispiel ändert das gesamte www-data-Objekt für die Datei im aktuellen Ordner:

$ sudo chgrp www-data file.txt

Und dieses Beispiel ändert die Gruppe www-data für den Ordner folder:

 $ sudo chgrp www-data folder

Der Befehl funktioniert auf eine sehr vorhersehbare Weise, indem er die Gruppe ändert. Die Objekte im Ordner bleiben unverändert. Wenn symbolische Links behandelt werden, bleiben ihre Attribute unverändert, aber das Objekt erhält eine neue Gruppe. Dieses Verhalten ähnelt dem Umgang mit dem Parameter --dereference.

Wenn diese Befehle beispielsweise auf symbolische Links angewendet werden, funktionieren sie wie im Screenshot gezeigt:

$ sudo chgrp www-data sym_file.txt

Schauen wir uns an, wie der Parameter -h, der die Attribute eines symbolischen Links ändert, funktionieren würde:

$ sudo chgrp -h www-data sym_file

Die Gruppe wurde nicht nur auf das Verzeichnis, sondern auch auf alle darin enthaltenen Dateien gesetzt. Beachten Sie, dass sich das Verhalten geändert hat: Bei der Verarbeitung eines symbolischen Links werden nun die Attribute für den Link selbst gesetzt, nicht für das Objekt.

Um den Unterschied zwischen den Parametern -H und -L zu verdeutlichen, sehen wir uns ein paar weitere Beispiele an. Erinnern Sie sich, dass sie zusammen mit -R verwendet werden müssen :

$ sudo chgrp -RH www-data folder

Mit -H hat sich das Verhalten bei der Verarbeitung von symbolischen Links geändert, sie werden nun so behandelt, als ob die Funktionen separat ausgeführt würden. Die Attribute der Verweise ändern sich nicht, wohl aber die Attribute der Objekte selbst, und die rekursive Verarbeitung stoppt, wenn Sie in ein Verzeichnis wechseln.

$ sudo chgrp -RL www-data folder

Die rekursive Verarbeitung endet, wenn Sie in ein Verzeichnis wechseln. Sie führt nur eine Funktion aus - sie ändert die Gruppe der Dateien und Verzeichnisse.

Bei der Verarbeitung symbolischer Links sollten Sie äußerst vorsichtig sein, um das System nicht zu beschädigen.