Warum du die Zeugnisse nicht lesen darfst
Dateirechte legen fest, wer eine Datei lesen, ändern oder starten darf. Auf jedem Linux-Computer hat jede Datei solche Rechte.
In einer Schule darf jede Lehrkraft ihre eigenen Noten sehen, aber nicht alle Noten der Schule. Genau dafür sind Rechte da: Sie schützen Daten vor Fehlern und vor Neugier.
Am Ende dieser Lektion
Notiz
Ich kann festlegen, wer eine Datei lesen, ändern und starten darf.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Benutzerkonto | der Zugang einer Person zum Computer, mit eigenem Namen | |
| Gruppe | eine Sammlung von Benutzerkonten mit gleichen Rechten | |
| Recht | die Erlaubnis, etwas mit einer Datei zu tun | |
| Eigentum | das Konto, dem eine Datei gehört | |
| Ausführen | ein Programm oder Skript starten | x |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Bevor du anfängst
Notiz
Läuft das Lab noch aus der letzten Lektion, arbeite einfach weiter. Sonst drück oben in der Leiste auf Lab starten und warte eine Minute. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal der Maschine.
Jede Datei hat Rechte für drei Gruppen
Für jede Datei gilt: Eine Person ist ihr Eigentum, eine Gruppe hat Zugriff, und alle anderen sind „andere“. Jede der drei Gruppen hat eigene Rechte.
Es gibt drei Rechte. r heißt lesen, w heißt schreiben und x heißt ausführen. Ein Strich - heißt: Dieses Recht fehlt.
Beispiel: rw-r-----
| Wer | Stelle im Text | Rechte | Heißt |
|---|---|---|---|
| Eigentum | rw- | lesen, schreiben | Das Konto darf die Datei ansehen und ändern |
| Gruppe | r-- | nur lesen | Die Gruppe darf sie nur ansehen |
| Andere | --- | nichts | Alle anderen kommen nicht heran |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Die Rechte einer Systemdatei ansehen
stat -c '%A %U %G' /etc/passwdHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Rechte der Passwortdatei ansehen
stat -c '%A %U %G' /etc/shadowHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Versuchen, die Passwortdatei zu lesen
cat /etc/shadowHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Aus rwx wird eine Zahl
Linux rechnet jedes Recht in eine Zahl um: r ist 4 wert, w ist 2 und x ist 1. Du zählst die Rechte einer Gruppe zusammen.
So wird rw- zu 4 plus 2, also 6. Drei Gruppen ergeben drei Ziffern. Der Befehl chmod 640 datei setzt genau diese Rechte.
Beispiel: Rechte und ihre Zahl
| Rechte als Text | Rechnung je Gruppe | Zahl |
|---|---|---|
| rwxr-x--- | 4+2+1, 4+1, 0 | 750 |
| rw-r----- | 4+2, 4, 0 | 640 |
| rwx------ | 4+2+1, 0, 0 | 700 |
| r--r--r-- | 4, 4, 4 | 444 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine eigene Datei anlegen
touch ~/scratch/bericht.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Die Rechte auf 640 setzen
chmod 640 ~/scratch/bericht.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Rechte als Text und als Zahl ansehen
stat -c '%A %a' ~/scratch/bericht.txtHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ohne x startet kein Skript
Ein Skript ist eine Textdatei mit Befehlen. Damit Linux sie starten darf, braucht sie das Recht x.
Du kannst es allein für dein Konto setzen: chmod u+x datei. Das u steht für „user“, also das Eigentum, und +x fügt das Recht hinzu. Du legst gleich ein Skript an und startest es zweimal.
Ein kleines Skript schreiben
printf '#!/bin/sh\necho Hallo vom Skript\n' > ~/scratch/gruss.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Das Skript ohne x starten
~/scratch/gruss.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Dem Eigentum das Recht x geben
chmod u+x ~/scratch/gruss.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Das Skript mit x starten
~/scratch/gruss.shHier 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 glauben, chmod 777 behebe jede Fehlermeldung mit „Permission denied“. Es hilft, aber es erlaubt allen, die Datei zu ändern. Gib nur so viel, wie nötig ist: meist 640 für Dateien und 750 für Programme.