Arbeiten mit Gruppenberechtigungen
Linux ermöglicht es, Dateien Gruppen zuzuordnen, was eine kollaborative Zugriffskontrolle ermöglicht. In diesem Schritt lernen Sie, wie Sie eine Gruppe erstellen, die Gruppenbesitzrechte einer Datei ändern und die entsprechenden Gruppenberechtigungen festlegen.
Zunächst erstellen wir eine neue Gruppe. In einer realen Umgebung könnte dies eine Abteilung oder ein Projektteam repräsentieren:
sudo groupadd developers
Jetzt erstellen wir eine Datei, die mit dieser Gruppe geteilt werden soll:
touch shared_config.txt
echo "## Development configuration settings" > shared_config.txt
echo "debug_mode=true" >> shared_config.txt
echo "log_level=verbose" >> shared_config.txt
Derzeit gehört diese Datei Ihrem Benutzer und Ihrer primären Gruppe. Überprüfen wir dies:
ls -l shared_config.txt
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
-rw-rw-r-- 1 labex labex 61 Oct 25 13:00 shared_config.txt
Um die Gruppenbesitzrechte der Datei auf die Gruppe developers
zu ändern, verwenden Sie den Befehl chown
:
sudo chown labex:developers shared_config.txt
Die Syntax ist chown Benutzer:Gruppe Dateiname
. Hier behalten wir den Benutzer als labex
bei, ändern aber die Gruppe auf developers
.
Überprüfen Sie nun die Besitzrechte:
ls -l shared_config.txt
Sie sollten sehen:
-rw-rw-r-- 1 labex developers 61 Oct 25 13:00 shared_config.txt
Beachten Sie, dass die Gruppe auf developers
geändert wurde, aber die Berechtigungen bleiben noch gleich. Ändern wir sie, um Gruppenmitgliedern das Lesen, aber nicht das Schreiben zu ermöglichen und den Zugriff von anderen Benutzern zu verhindern:
chmod 640 shared_config.txt
Dies legt fest:
- Besitzer: Lesen und Schreiben (
6
= 4+2
)
- Gruppe: Nur Lesen (
4
)
- Andere: Keine Berechtigungen (
0
)
Überprüfen Sie die Berechtigungen erneut:
ls -l shared_config.txt
Sie sollten jetzt sehen:
-rw-r----- 1 labex developers 61 Oct 25 13:00 shared_config.txt
Jetzt können Mitglieder der Gruppe developers
diese Konfigurationsdatei lesen, aber sie nicht ändern. Benutzer, die nicht in der Gruppe developers
sind, können überhaupt nicht auf die Datei zugreifen.
Sie können auch den symbolischen Modus verwenden, um dasselbe Ergebnis zu erzielen:
chmod u=rw,g=r,o= shared_config.txt
Dieser Befehl legt explizit fest:
- Benutzer/Besitzer: Lesen und Schreiben
- Gruppe: Nur Lesen
- Andere: Keine Berechtigungen
Um einen Benutzer der Gruppe developers
hinzuzufügen, würden Sie normalerweise verwenden:
sudo usermod -a -G developers username
Dies geht jedoch über den Rahmen dieses Labors hinaus, da dies das Erstellen von Benutzerkonten erfordern würde.