Das Skript, das nicht läuft
Du schreibst ein kleines Skript, tippst seinen Namen, und die Maschine antwortet: permission denied. Du hast es geschrieben, und es gehört dir. Die Maschine lehnt trotzdem ab, denn unter Linux sagt jede Datei, wer sie lesen, wer sie ändern und wer sie ausführen darf.
Am Ende dieser Lektion
Notiz
Ich kann ändern, wer eine Datei ausführen darf, und Dateien vorsichtig löschen.
Schlüsselwörter
- Berechtigung: wer eine Datei lesen, ändern oder ausführen darf.
- Eigentümer: das Konto, dem eine Datei gehört.
- Gruppe: eine benannte Liste von Benutzern, die manche Dateien teilen.
- Skript: eine Datei mit Befehlen, die die Maschine für dich ausführt.
Zum Start: Was du schon weißt
Notiz
Antworte im Kopf. 1. Welcher Befehl gibt den Ordner aus, in dem du bist? 2. Welches Zeichen schreibt Wörter in eine Datei und ersetzt, was darin stand? 3. Was ist der Unterschied zwischen einer Datei und einem Ordner?
Bevor du anfängst
Notiz
Drücke in der Leiste oben in dieser Lektion auf Lab starten. Dieses Lab ist eine ganze Ubuntu-Maschine nur für dich, deshalb dauert der Start etwas länger als bei einem Container. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal der Maschine, einen nach dem anderen in derselben Sitzung. Wenn einer sagt, dass die Maschine noch startet, warte ein paar Sekunden und drücke ihn noch einmal. Wo in der Lektion Tippe das ein steht, endet der Befehl nicht von selbst oder fragt dich etwas. Drücke dann in der Leiste auf Terminal öffnen (neuer Tab) und tippe ihn selbst ein.
Eine neue Datei kann noch nicht laufen
Die erste Spalte von ls -l zeigt die Berechtigungen. Nach dem ersten Zeichen kommen drei Gruppen rwx: was der Eigentümer, die Gruppe und alle anderen lesen (r), schreiben (w) und ausführen (x) dürfen. Eine neue Datei hat kein x, deshalb wird das erste ./hello.sh abgelehnt. chmod +x fügt das Recht zum Ausführen hinzu, und der zweite Versuch gibt it works aus.
cdHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
echo 'echo it works' > hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
ls -l hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
./hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
chmod +x hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
ls -l hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
./hello.shHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Prüfe dich
Tipp
Wer darf in -rw-r--r-- in die Datei schreiben? Antwort: nur der Eigentümer. Die Gruppe und alle anderen dürfen sie nur lesen.
Entferne, was du nicht brauchst
rm entfernt eine Datei. rm -rf entfernt einen Ordner mit allem darin und fragt nicht nach. Der Ordner scratch wurde für dich angelegt, damit du daraus löschen kannst. Der letzte Befehl gibt nichts aus, weil er jetzt leer ist.
rm scratch/old.logHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
rm -rf scratch/cacheHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
ls scratchHier 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 denken, eine gelöschte Datei lande in einem Papierkorb und lasse sich zurückholen, wie auf einem Handy oder einem Desktop. Auf einem Server ist rm endgültig: Die Datei ist weg. Führe vor rm -rf pwd und ls aus und lies den Pfad zweimal. rm -rf mit dem falschen Pfad oder mit einem Leerzeichen an der falschen Stelle hat schon ganze Server gelöscht.
Wer bin ich, und wer ist noch hier?
whoami gibt deinen Benutzernamen aus. id dev zeigt ein anderes Konto auf dieser Maschine, das spätere Lektionen benutzen. Jedes Konto hat eigene Dateien, und Berechtigungen entscheiden, was jedes davon anfassen darf.
whoamiHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
id devHier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Abschlusscheck
Tipp
Antworte, ohne zurückzuschauen. 1. Welcher Befehl erlaubt es einer Datei, zu laufen? 2. Wofür steht rwx? 3. Warum prüfst du vor rm -rf mit pwd? Antworten: chmod +x; read, write, execute (lesen, schreiben, ausführen); es gibt keinen Papierkorb, deshalb lässt sich ein falscher Pfad nicht rückgängig machen.
Für Lehrkräfte
Tipp
Diese Lektion ist ein kleines Beispiel für eine Lektion, die in einem Lab bearbeitet wird: Die Schritte und die Schaltflächen „Ausführen“ sind die Lektion, und das Lab ist die eigene Kopie jeder lernenden Person. Diese Lektion läuft in einem VM-Lab: Jede lernende Person hat eine eigene Ubuntu-Maschine, und „Ausführen“ tippt in deren Terminal und zeigt, was ausgegeben wurde. Lernziele: 1. Berechtigungen sagen, wer eine Datei lesen, schreiben und ausführen darf, und chmod +x lässt sie laufen. 2. rm ist endgültig, also wird zuerst der Pfad geprüft. Häufiger Fehler: denken, rm habe einen Papierkorb. Ausstattung: das Lab und ein Browser. Tipp: Lassen Sie die Lernenden den Pfad laut vorlesen, bevor sie bei rm -rf die Eingabetaste drücken. Das Lab hat keine Prüfung und bewertet nichts. Legen Sie eine eigene Abgabe fest, wenn Sie eine möchten. Kopieren Sie die Lektion in Ihr eigenes Modul und ändern Sie sie, oder bauen Sie mit dem Menü Lab im Lektionseditor eine neue.