6.2 Systemadministration für Einsteiger
Der folgende Abschnitt gibt Ihnen einige Überlebensregeln mit auf den Weg, um die im Buch beschriebenen Administrationsaufgaben sicher bewältigen zu können. Insbesondere gehe ich auch auf die Bedeutung des Systemadministrators unter Linux im Allgemeinen und unter Ubuntu im Besonderen ein.
6.2.1 Ein Benutzer namens Root …
… ist unter Ubuntu eigentlich nicht vorgesehen. Während der Installation wird ein Standardbenutzer[Weitere, später eingerichtete Benutzer erhalten dieses Privileg nicht.]sudo eingerichtet, dessen Passwort zugleich für Administratoraufgaben gültig ist. Startet man beispielsweise ein Systemprogramm wie den Paketmanager Synaptic, so wird unmittelbar nach dem Start des Programms dieses Passwort abgefragt.
Aus einer Konsole heraus lassen sich Programme nur dann mit Rootrechten starten, wenn der Befehl sudo (substitute user do, oft aber fälschlicherweise als super user do bezeichnet) vorangestellt wird, also z. B.
user$ sudo apt-get install <Programmpaket>
Auch hier ist vor der eigentlichen Befehlsausführung stets das Passwort des Standardbenutzers einzugeben. Ubuntu merkt sich bei derartigen Aktionen das Passwort übrigens für einen Zeitraum von 15 Minuten, danach wird der Passwortcache wieder deaktiviert.
Warum ist Ubuntu aber den Weg gegangen, keinen eigenen Administrator- bzw. Root-Account in der Standardkonfiguration vorzusehen?
Das von Linux sonst verwendete Root-Konzept hat einige Nachteile:
- Es kann nur einen Superuser Root geben.
- Vergisst man, sich als Root abzumelden, bleibt das System gefährdet.
- Man muss sich mindestens zwei (verschiedene) Passwörter merken.
- Es verleitet zur ständigen Arbeit als Root.
Ein Nachteil der von Ubuntu bevorzugten Methode ist der, dass man bei längerer Tätigkeit als Root eventuell das Passwort mehrmals eingeben muss. Außerdem verleitet sie dazu, ein recht einfaches Passwort zu wählen.
Vereinfachungen
Man kann sich das Leben als Ubuntu-Administrator in einigen Punkten vereinfachen. Wer z. B. mehrere Kommandos über einen längeren Zeitraum in einer Shell eingeben möchte, der wechselt einfach auf eine Root-Konsole. Ausgehend von einer normalen Benutzerkonsole gelangen Sie durch folgenden Befehl dorthin:
user$ sudo -s <Passworteingabe> root#
Diejenigen unter den Lesern, die von einer anderen Linux-Distribution zu Ubuntu migriert sind, können das bekannte Wechseln via su in eine Root-Konsole folgendermaßen realisieren: Ergänzen Sie die versteckte Datei .bashrc mit einem Editor Ihrer Wahl um die folgende Zeile:
user$ gedit ~/.bashrc #Auszug aus .bashrc alias su='sudo -s'
Starten Sie anschließend eine neue Shell. In dieser können Sie nun bequem per su in eine Root-Shell wechseln.
Wenn Sie ein Mehrbenutzersystem eingerichtet haben, so können Sie anderen Benutzern ebenfalls die Verwendung von Systemprogrammen gestatten, indem Sie diese einfach der Administratorgruppe zuordnen. Dies geschieht am schnellsten durch den Standardbenutzer mit folgendem Befehl:
user$ sudo adduser <Name> admin
Der entsprechende Benutzer kann nun mit seinem eigenen Passwort auf der Konsole den sudo-Befehl verwenden. Einen kleinen Schönheitsfehler hat diese Variante allerdings: Der neue Administrator kann keine graphischen Programme direkt aus dem Menü starten. Dies lässt sich aber anderseits einfach aus einer Shell heraus realisieren: Verwenden Sie unter KDE das Programm kdesu bzw. unter GNOME gksudo.
Den klassischen Root-Account herstellen
Mit einem Trick lässt sich auch unter Ubuntu der ehemals deaktivierte Root-Account wiederbeleben. Definieren Sie zu diesem Zweck einfach vom Standardbenutzeraccount aus ein Passwort für den Benutzer Root:
user$ sudo passwd root Enter new UNIX passwd:<Eingabe des Root-Passworts> Retype new UNIX passwd:<Wiederholung des Passworts>
Als Test können Sie nun einmal mit dem Befehl su in einer Konsole zum Root-Account wechseln. Auch mit diesem Root-Account kann man die graphischen Administratortools nur indirekt per Konsole starten.
Beachten Sie, dass Sie sich nach Definition eines Root-Passworts nicht mehr mit Ihrem alten Standardpasswort in einer Root-Shell anmelden können.
Wer das alte Verhalten wiederherstellen möchte, der kann mit dem folgenden Befehl den Root-Account auch wieder deaktivieren:
user$ sudo passwd -l root
Sie erfahren mehr über die Konzepte hinter sudo und root in Abschnitt 20.3.2.
6.2.2 Nützliche Shell-Werkzeuge
Kommandozeileneditoren
Nachfolgend werden wir immer wieder Änderungen an Konfigurationsdateien vornehmen oder auch eigene Skripte schreiben. Dazu ist es praktisch, wenn man auf Editoren zurückgreifen kann, die in der Kommandozeile funktionieren. Ein beliebter Editor, der zur Ubuntu-Grundausstattung gehört, ist nano.
Gestartet wird der Editor durch Eingabe des gleichnamigen Befehls, eventuell mit Angabe der zu editierenden Datei auf der Kommandozeile. Am unteren Bildschirmrand finden Sie eine Übersicht der wichtigsten Editorbefehle.
Abbildung 6.7 nano – der Editor für schnelle Lösungen
Kommandozeilenbrowser
Sicher gibt es einige Leser, die noch in den guten alten Zeiten von MS-DOS ihr Handwerk erlernt haben. Damals gab es den allseits beliebten Norton Commander, mit dem die Navigation auf einer Textkonsole deutlich vereinfacht wurde. Unter Ubuntu steht Ihnen für derartige Zwecke der Midnight Commander zur Verfügung. Dieser wird durch Eingabe des Kommandos mc aus einer Konsole heraus gestartet. Dazu müssen Sie ihn aber zuerst installieren mittels:
user$ sudo apt-get install mc
Abbildung 6.8 Der Midnight Commander: ein Browser für die Shell
Wenn Sie den Midnight Commander aus einem Terminal der graphischen Oberfläche heraus gestartet haben, dann können Sie die Menüpunkte des Browsers durch Anklicken mit der Maus aktivieren. In einer reinen Textkonsole betätigen Sie die Funktionstasten. Deren Belegung ist im unteren Teil des Fensters ersichtlich (Abbildung 6.8).
6.2.3 Eine Übung zur Administration
Nachfolgend sollen Sie sich Ihre ersten Lorbeeren als Systemadministrator verdienen. Die Aufgabe lautet: Binden Sie eine bestehende Windows-Datenpartition in das System ein, so dass man deren Dateien lesen und in das Linuxsystem kopieren kann. Wir werden dabei folgende Dinge lernen:
- die Installation eines neuen Systemprogramms.
- das Bearbeiten einer Systemdatei.
- das automatische Einbinden einer Fremdpartition während des Systemstarts.
Um einen bequemen Einblick in die auf Ihrem Rechner befindliche Partitionslandschaft zu bekommen, ist es zunächst notwendig, das graphische Partitionsprogramm GNOME Partition Editor (GParted) zu installieren. Dies kann mit Synaptic oder dem folgenden Befehl geschehen:
user$ sudo apt-get install gparted
Alternativ können Sie auch den neuen Anwendungs-Installer verwenden (Anwendungen · Hinzufügen/Entfernen · Systemwerkzeuge · GParted). Das neu installierte Programm befindet sich unter GNOME im Startmenü unter Systemwerkzeuge · GParted, alternativ kann es über die Kommandozeile mittels
user$ gksudo gparted
gestartet werden. GParted soll uns an dieser Stelle nur als Informationswerkzeug dienen. Linux-Insider verwenden an dieser Stelle natürlich den Kommandozeilenbefehl fdisk l. Als Anfänger sollte man Abstand von eigenmächtigen Operationen innerhalb dieses Partitionierungstools nehmen.
Im vorliegenden Fall befinden sich etliche Windows-Partitionen auf der aktuellen Platte. Nachfolgend soll die in Abbildung 6.9 markierte Partition /dev/sda7 lesbar in das System eingebunden werden.
Nachfolgend werden wir etliche Aktionen als Administrator vornehmen. Öffnen Sie zu diesem Zweck wie in Abschnitt 3.3.1 beschrieben eine Root-Konsole mittels sudo -s. Erstellen Sie zunächst einen Einbindungspunkt (Mountpoint) für die betreffende Partition:
root# mkdir /media/windows
Abbildung 6.9 Analyse der Partitionierung mit GParted
Nun können Sie testen, ob sich die Partition manuell einbinden lässt:
root# mount /dev/sda7 /media/windows
Soll das Verzeichnis für den Benutzer mit dem Namen xyz zugänglich gemacht werden, so ist der obige Befehl wie folgt abzuändern:
root# mount -o uid=xyz /dev/sda7 /media/windows
Nun können Sie anhand des Festplatteninhalts überprüfen, ob es sich um die richtige Partition handelt:
root# cd /media/windows root# dir …
Binden Sie nun die Partition wieder aus:
root# cd root# umount /media/windows
Wir wollen jetzt die Systemdatei /etc/fstab editieren, damit die Partition bei jedem Systemstart automatisch in das Dateisystem eingebunden wird. Folgende Zeile ist in dieser Datei im Falle einerNTFS einbinden NTFS-PartitionNTFS einbinden zu ergänzen:
root# nano /etc/fstab # Auszug aus /etc/fstab /dev/sda7 /media/windows ntfs \ ro,user,auto,nls=utf8, uid=1000, gid=1000 0 0
Die Angabe des Parameters ro (read only) ist notwendig, da Ubuntu nicht auf NTFS-Partitionen schreiben kann. Die obigen Parameter sind in eine einzige Zeile zu schreiben. Sollte es sich bei der betreffenden PartitionFAT32 einbinden um eine FAT32-PartitionFAT32 einbinden handeln, dann sehen die Parameter folgendermaßen aus:
/dev/sda7 /media/windows vfat umask=000 0 0
Damit sollte die Partition beim nächsten Systemstart automatisch eingebunden werden. Ein Neustart kann übrigens durch das folgende Kommando umgangen werden:
root# mount -a
Sie finden die neu eingebundene Partition anschließend im Menü Orte · Computer.