Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Dateirechte: wer lesen, schreiben, ausführen darf

Nach dieser Lektion: Ich kann sagen, wer eine Datei lesen, ändern oder ausführen darf, und ich kann das ändern.

Lektion, 55 Min.15 BefehleLinux-Administrationslab: Benutzer, Berechtigungen, cron und systemd im Browser

Die Gehaltsliste, die alle öffnen konnten

Eine kleine Firma legt ihre Gehaltsliste auf einem gemeinsamen Server ab. Ein neuer Kollege öffnet den Ordner und findet sie. Jeder mit einem Login kann alle Gehälter lesen.

Niemand hat etwas gehackt. Die Datei hatte nur die falschen Rechte. In dieser Lektion lernen Sie, sie richtig zu setzen.

Am Ende dieser Lektion

Notiz

Ich kann sagen, wer eine Datei lesen, ändern oder ausführen darf, und ich kann das ändern.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
Besitzerder eine Nutzer, dem eine Datei gehört
Gruppeeine benannte Liste von Nutzern, die Dateien teilen
Anderealle, die weder Besitzer noch in der Gruppe sind
Rootdas Administratorkonto, das alles darf
sudoführt einen einzelnen Befehl als root aussudo whoami
Setgideine Ordnereinstellung: neue Dateien gehören der Gruppe des Ordners2750

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Drei Arten von Personen, drei Rechte

Jede Datei hat einen Besitzer und eine Gruppe. Alle anderen sind Andere.

Für jede dieser drei Arten legt die Datei fest, wer sie lesen (r), schreiben (w) und ausführen (x) darf.

Bei einem Ordner heißt r: auflisten. w heißt: Dateien anlegen oder löschen. x heißt: hineingehen.

Wer bin ich?

Befehl
id

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Modus, Besitzer und Gruppe eines Ordners lesen

Befehl
stat -c "%a %A %U %G" /srv/projects

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein Beispiel: einen Modus lesen

ModusBesitzer darfGruppe darfAndere dürfen
rwxr-x---lesen, schreiben, ausführenlesen, ausführennichts
rw-rw-r--lesen, schreibenlesen, schreibenlesen
rw-------lesen, schreibennichtsnichts
rwxr-xr-xlesen, schreiben, ausführenlesen, ausführenlesen, ausführen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

chmod ändert einen Modus

chmod ändert den Modus. Sie können drei Ziffern angeben, zum Beispiel chmod 640 gehaelter.txt.

Oder Sie sagen, was dazukommt oder wegfällt. g+w fügt der Gruppe Schreiben hinzu. o-r nimmt Anderen das Lesen.

Führen Sie die nächsten Befehle der Reihe nach aus. Jedes ls -l zeigt den neuen Modus.

Eine leere Datei anlegen

Befehl
touch gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Besitzer lesen und schreiben, Gruppe lesen

Befehl
chmod 640 gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Modus ansehen

Befehl
ls -l gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Der Gruppe auch Schreiben erlauben

Befehl
chmod g+w gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Noch einmal ansehen

Befehl
ls -l gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein häufiger Fehler

Warnung

Viele halten chmod 777 für eine schnelle Lösung, wenn „Permission denied“ erscheint. Damit darf jeder Nutzer der Maschine die Datei ändern. Klären Sie, wer das Recht braucht, und geben Sie es nur diesem Besitzer oder dieser Gruppe.

Nutzer, root und sudo

Jede Person und jeder Dienst hat ein Nutzerkonto. Ein gewöhnlicher Nutzer öffnet die Datei eines anderen nur, wenn ihr Modus es erlaubt. Die Dateien des Systems kann er nicht ändern.

Root darf alles. Niemand sollte den ganzen Tag als root arbeiten. sudo führt nur einen Befehl als root aus, danach sind Sie wieder ein gewöhnlicher Nutzer.

Ein gewöhnlicher Nutzer wird abgewiesen

Befehl
ls /root

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Derselbe Nutzer mit sudo

Befehl
sudo whoami

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Die Datei an root geben

Befehl
sudo chown root gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Den Besitzer ansehen

Befehl
ls -l gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Sie zurückgeben

Befehl
sudo chown student gehaelter.txt

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Ein gemeinsamer Ordner braucht Gruppe und Setgid

Ein Team teilt sich einen Ordner. Legen Sie eine Gruppe an, zum Beispiel vertrieb, und nehmen Sie jedes Mitglied mit usermod -aG vertrieb name auf.

Setzen Sie die Gruppe des Ordners mit chgrp. Wählen Sie dann, was die Gruppe darf.

Fügen Sie das Setgid-Recht hinzu, die 2 in 2750. Jede neue Datei im Ordner gehört dann der Gruppe des Ordners, egal wer sie anlegt.

Einen Übungsordner anlegen

Befehl
mkdir -p teamordner

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Setgid, Gruppe darf lesen und hinein, Andere nichts

Befehl
chmod 2750 teamordner

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Nach dem s suchen

Befehl
ls -ld teamordner

Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.

Über dieses Lab und seinen Quellcode: Linux-Administrationslab: Benutzer, Berechtigungen, cron und systemd im Browser

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.