Administration per Shell
Willemers Informatik-Ecke
Der Administrator eines Linux-Systems muss mit der Shell umgehen lernen. Das ist keine Schikane, sondern eröffnet erst Möglichkeiten, die die GUI nicht bietet. So ist es von der Eingabeaufforderung beispielsweise mithilfe des Befehls find problemlos möglich, alle Dateien eines Verzeichnisses und deren Unterverzeichnisse zu löschen, die älter als zwei Jahre sind. Oder versuchen Sie einmal, per GUI alle Java-Dateien in einer ZIP-Datei abzulegen, die das Wort interface enthalten.

Linux-Administratoren verwenden fast immer die Kommandozeile.

Aus dem gleichen Grund werden gern Textdateien für die Konfiguration verwendet.

Hilfestellung Manpages

Mit dem Befehl man cp erhält man einen Manual-Eintrag für den Befehl cp. Das funktioniert auch bei wichtigen Konfigurationsdateien, etwa man fstab. Bei Zweideutigkeiten zeigt man 3 passwd den Befehl und man 5 passwd die Datei. Mit dem Leerzeichen wird geblättert, mit dem Buchstaben Q wird die Manpage verlassen.

Fernwartung

Eine Wartung kann per Remote Shell erfolgen: ssh
arnold@tab ~ $ ssh master@193.175.188.253
master@193.175.188.253's password: 
Last login: Mon Sep  5 08:30:42 2022 from 193.175.177.44
master@kt253:~$ 
Der Befehl ssh hieß ursprünglich rsh für remote shell. Allerdings wurde unverschlüsselt übertragen. Der Nachfolger hieß ssh für secure shell.

Mit exit oder [Strg]+[D] kann man sich ausloggen. Analog gibt es einen Befehl scp zum Kopieren von Dateien über das Netzwerk. Details: man scp Vorteil einer Wartung per Konsole statt per grafischer Oberfläche:

Der Befehl who zeigt die angemeldeten Sitzungen an.

Benutzerverwaltung

Benutzer

Der Administrator

Eine Shell (Kommandozeile, Terminal, Konsole) mit root-Rechten anlegen: Aufrufe von sudo müssen durch das eigene Benutzerpasswort bestätigt werden und werden protokolliert. Nicht alle Benutzer sind sudo-berechtigt. Um eine Shell zu beenden, gibt man den Befehl exit ein oder tippt [Strg]+ [D] am Anfang einer Zeile.

Gruppen

Jeder Benutzer kann in einer oder mehreren Gruppen Mitglied sein. Auch eine Gruppe hat eine Kennung (gid), allerdings kein Heimatverzeichnis und nur in Ausnahmefällen ein Passwort.

Dateien

Besitzer und Rechte

In einem Multiuser-System müssen Dateien in ihren Rechten gegenüber anderen Benutzern einschränkbar sein. Gruppen sorgen für gemeinsame Ressourcen, die wiederum gegenüber Nichtmitgliedern geschützt werden können.

Dateirechte und -besitzer

Dateimanager

Unter den grafische Oberflächen gibt es eine Anwendung, die mal Explorer, mal Finder, Caja oder Nautilus heißt. Der Typus wird als Dateimanager beschrieben. Es geht darum, Dateien anzuzeigen, umzubenennen, zu kopieren oder zu löschen. Für diese Operationen stellt die Shell einfache Befehle zur Verfügung.

Standardbefehl ls

ls: Zeige Dateien und Verzeichnisse
ls -l MeineDatei 
-rw-rw-r-- 1 arnold arnold 13 Okt 13 11:07 MeineDatei

Standardbefehl cp

cp: Kopiere Datei. Erstes Argument ist Quelle, zweites das Ziel
cp quelldatei.txt zieldatei.txt
Mehrere Dateien möglich. Ziel muss ein Verzeichnis sein.
cp *.txt zielverzeichnis
Kopierte Dateien erhalten den kopierenden User als Eigentümer und den aktuellen Zeitpunkt als letztes Änderungsdatum. Mit -rp werden die Originalzustände erhalten. Evtl. root-Rechte erforderlich.
cp -rp *.txt zielverzeichnis

Standardbefehl mv

mv: Benenne Datei in eine andere Datei um
mv quelldatei.txt zieldatei.txt
Ist das Ziel ein Verzeichnis, werden die Dateien verschoben. Hier sind mehrere Dateien möglich.
mv *.txt zielverzeichnis

Standardbefehl rm

rm: Lösche Datei Der Befehl rm löscht alle als Argument angegebenen Dateien.
rm einedatei.txt nocheine.dat
Mit den Wildcards * und ? können mehrere Dateien zusammengefasst werden.
rm *.txt 
Mit der Option -r können Verzeichnisse und alle darunterliegenden Dateien und Verzeichnisse gelöscht werden.
rm -r meinverzeichnis

Standardbefehle für Verzeichnisse

Dateimanager mc

Mit dem Programm mc steht ein Dateimanager für die Konsole zur Verfügung. Das Paket muss allerdings explizit installiert werden.

# apt install mc

Leistungsfähige Konsolenbefehle

Der Link

Unter Linux ist es möglich, zwei Einträge im Dateisystem auf den gleichen Dateiinhalt verweisen zu lassen. Einen solchen Verweis nennt man Link. Der harte Link entsteht durch den Befehl ln. Die Verweise sind gleichberechtigt. Erst wenn der letzte Link gelöscht wird, wird auch der Dateiinhalt entfernt.
$ ls -l MeinProgramm 
-rwxr-x--x 1 arnold arnold 31 Okt 13 16:42 MeinProgramm
$ ln MeinProgramm MeinLink
$ ln -s MeinProgramm MeinSLink
$ ls -l Mein*
-rwxr-x--x 2 arnold arnold 31 Okt 13 16:42 MeinLink
-rwxr-x--x 2 arnold arnold 31 Okt 13 16:42 MeinProgramm
lrwxrwxrwx 1 arnold arnold  9 Okt 14 08:28 MeinSLink -> MeinProgramm
Der symbolische Link kann auch außerhalb des Dateisystems stehen. Er ist ein textueller Link ohne Prüfung, ob die Originaldatei noch da ist.

Anzeigen einer Textdatei

Datenumlenkung

Editor

Anfänger verwenden als Editor nano. Bei jedem UNIX/Linux-System ist der sehr leistungsfähige Editor vi installiert. Eine Open-Source-Variante vim ist noch leistungsfähiger, muss aber nachinstalliert werden. Leider ist vi nicht sehr intuitiv.

Systemnachrichten

In der Datei /var/log/syslog werden die Fehlerzustände protokolliert. Diese Datei können Sie »live« verfolgen:
tail -f /var/log/syslog
Die »Übertragung« wird mit [Strg]+[C] beendet.