claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 11/2004   »   Ausgabe bestellen

Konfigurationsdateien in /etc

Spurensuche

von Heike Jurzik


Im Verzeichnis "/etc" speichert Linux Einstellungen für alle wichtigen Programme und generelle Konfigurationsdateien des Betriebssystems. Für die meisten Verwaltungsaufgaben gibt es grafische Tools, aber es ist gut zu wissen, was hinter den Kulissen abläuft.

Der Dateibaum von Linux ist hierarchisch aufgebaut. Ausgehend vom Wurzelverzeichnis / werden Daten und Programme in Unterverzeichnissen angeordnet (Abbildung 1). In der zweiten Ebene befinden sich z. B. Verzeichnisse wie /bin mit wichtigen Programmen, /boot mit Dateien für den Boot-Manager und dem Kernel, /dev mit den Gerätedateien für den Hardware-Zugriff und /home mit den Benutzerdaten.

Abb. 1: KDEs Konqueror zeigt die Baumstruktur des Dateisystems.

Dieser Artikel widmet sich den systemweiten Konfigurationsdateien in /etc. Diese sind in der Regel reine Textdateien, die normale Benutzer zwar (meistens) lesen aber nicht verändern dürfen. Wer nicht auf die grafischen Konfigurations-Tools der Distributionen zurückgreifen, sondern selbst Hand anlegen möchte, kann als Administrator mit einem einfachen Text-Editor wie KWrite oder Kate arbeiten. Bevor Sie eine Datei unter /etc verändern, empfiehlt es sich übrigens immer, eine Sicherheitskopie anzulegen, damit Sie Änderungen bei Problemen leicht rückgängig machen können.

Auch wenn viele Einträge in den /etc-Dateien von den grafischen Konfigurations-Tools der Distributionen geschrieben und aktualisiert werden, so dass von Hand gemachte Einstellungen verloren gehen, ist es gut zu wissen, wo man nachschauen kann, wenn etwas hakt. Wir zeigen wichtige Dateien, die sich im Verzeichnis /etc tummeln, und ihren Einfluss auf das Linux-System.

Dateisystem-Infos

In der Datei /etc/fstab (fstab = filesystem table) finden Sie Informationen über Dateisysteme (Festplatten-Partitionen und andere Datenträger), die Linux beim Systemstart oder später auf Anforderung einbinden soll [1]. Eine typische /etc/fstab von einem SuSE-Linux-System zeigt der Kasten Beispiel einer /etc/fstab.

Beispiel einer "/etc/fstab"
/dev/hda12           /                    ext3       defaults 1 1
/dev/hda7            /boot                ext2       defaults 1 2
/dev/hda1            /data1               auto       noauto,user 0 0
/dev/hda13           /home                ext3       defaults 1 2
/dev/hda8            swap                 swap       pri=42 0 0
proc                 /proc                proc       defaults 0 0
/dev/cdrecorder      /media/cdrecorder    auto       ro,noauto,user,exec 0 0
/dev/cdrom           /media/cdrom         auto       ro,noauto,user,exec 0 0
/dev/dvd             /media/dvd           auto       ro,noauto,user,exec 0 0
/dev/dvdram          /media/dvdram        auto       ro,noauto,user,exec 0 0
/dev/fd0             /media/floppy        auto       noauto,user,sync 0 0

Neben den Gerätenamen finden Sie hier den entsprechenden Mountpoint, d. h. den Ordner, wo das Gerät einzuhängen ist, das Dateisystem und weitere Optionen. Sie verraten beispielsweise etwas darüber, ob Linux das Gerät beim Booten automatisch einhängt oder ob root-Rechte für das Mounten erforderlich sind. Normalerweise haben Sie als Benutzer wenig mit der Datei /etc/fstab zu tun, da dieDistributoren sie bei der Installation automatisch angelegen und mit den richtigen Angaben füttern. Wenn es aber darum geht, ein Gerät auf der Kommandozeile zu mounten und Sie den Einhängepunkt vergessen habe, hilft der Befehl

$ cat /etc/fstab

schnell weiter, und verrät beispielsweise, dass das Kommando zum Einhängen des DVD-Laufwerks

$ mount /media/dvd

heißen muss.

Wen es stört, dass sich unter Fedora Core 2 CDs bzw. DVDs nur mit root-Rechten einbinden lassen, repariert das in der /etc/fstab: Bei der Zeile

/dev/cdrom  /mnt/cdrom  udf,iso9\
660 noauto,owner,kudzu,ro 0 0

fehlt in den Optionen der Eintrag user, der es auch "normalen" Benutzern erlaubt, das Laufwerk einzubinden. Bearbeiten Sie die Datei mit root-Rechten (z. B. über [Alt-F2] und Eingabe von kdesu kwrite /etc/fstab) und ändern Sie die entsprechende Zeile in:

/dev/cdrom  /mnt/cdrom  udf,iso9\
660 noauto,user,owner,kudzu,ro 0\
0

Motto des Tages

In der Datei /etc/motd können Sie das Motto des Tages unterbringen -- Linux zeigt es allen Benutzern an, die sich remote, also von einem anderen Rechner aus, einloggen. Noch bevor der Prompt erscheint gibt das System den Inhalt der Datei aus. Unter SuSE Linux steht hier beispielsweise "Have a lot of fun..." (Abbildung 2). Bei Mandrake Linux und Fedora Core 2 ist die Datei dagegen leer.

Abb. 2: Viel Spaß -- SuSE Linux begrüßt Sie nach dem Einloggen.

Also die beste Voraussetzung, um dort selbst eine Nachricht für externe Benutzer unterzubringen. Bearbeiten Sie die Datei dazu einfach in einem Text-Editor.

Eigentlich dient die Anzeige der /etc/motd dazu, aktuelle Neuigkeiten an die Benutzer auf einem Multiuser-System weiterzugeben. So könnte auf einem Firmenrechner der Admin schnell die /etc/motd auf dem Server anpassen und den Mitarbeiten beispielsweise mitteilen:

Die diesjährige Weihnachtsfe\
ier findet am 12. Dezember statt\
. Nähere Infos bei Kollegin Schm\
idt.

Arbeitsumgebungen

Immer wenn Sie auf der Kommandozeile arbeiten, benutzen Sie unter den von EasyLinux unterstützten Distributionen dazu den Kommandozeileninterpreter Bash (Bourne Again Shell). Die Bash verarbeitet ebenso wie command.com oder cmd.exe unter Windows die eingegebenen Befehle. Während viele erfahrene Benutzer, die häufig auf der Konsole arbeiten, das Verhalten ihrer Bash in einer versteckten Konfigurationsdatei im eigenen Home-Verzeichnis (~/.bashrc) einstellen, gibt es abhängig von der Distribution auch eine oder mehrere systemweite Dateien, die die eigene Arbeitsumgebung gestalten.

SuSE Linux definiert allgemeines Verhalten der Bash in der Datei /etc/bash.bashrc. Zusätzlich zu den Angaben zum Aussehen des Prompts usw. verwaltet diese Distribution auch systemweite Alias-Definitionen dort. Das sind Kurzformen für häufig benutzte Kommandos mit optionalen Parametern. Die meisten aktuellen Linux-Distributionen setzen beispielsweise einen Alias für Befehle wie dir (DOS-Kommando, das in etwa ls entspricht) oder für häufig vorkommende Tippfehler: So definiert SuSE Linux beispielsweise einen Alias für unmount und weist diesem den Satz "Error: Try the command: umount" zu. Die systemweiten Alias-Definitionen von SuSE Linux finden Sie relativ am Ender der Datei /etc/bash.bashrc (Abbildung 3).

Abb. 3: In "/etc/bash.bashrc" hat SuSE Linux viele systemweite Alias-Einträge definiert.

Mandrake Linux kommt nicht nur mit einem Satz anderer Alias-Einträge, sondern verwaltet die Kürzel auch in einer anderen Datei. Werfen Sie unter dieser Distribution einen Blick in die /etc/profile.d/alias.sh, um die gängigen Abkürzungen zu überprüfen:

alias ls="ls $LS_OPTIONS"
alias d="ls"
alias l="ls"
alias ll="ls -l"
alias la='ls -a'
alias lsd="ls -d */"
alias cd..="cd .."
alias s="cd .."
alias p="cd -"
alias md="mkdir"
alias rd="rmdir"
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"

Schön zu sehen ist hier das systemweite Verhalten für die drei Kommandos cp, mv und rm (zum Kopieren, Verschieben [2] oder Löschen [3] von Dateien). Für alle drei Befehle ist die Sicherheitsabfrage (mit dem Parameter -i) definiert, der bei jedem Befehlsaufruf eine explizite Bestätigung erfragt.

Beachten Sie, dass die Distributoren in diesen Dateien nur das systemweite Verhalten festlegen. Wer bestimmte Alias-Definitionen nicht mag oder sogar eigene Kürzel benutzen möchte, erledigt das in der Datei ~/.bashrc im eigenen Home-Verzeichnis. Die Einträge sehen genauso aus wie in der systemweiten Datei: Zunächst kommt der Befehl alias, dann der Alias selbst, ein Gleichheitszeichen und das vollständigen Kommando mit allen Optionen (wegen der Leerzeichen in Hochkommata eingeschlossen).

Um einen systemweiten Alias zu deaktivieren gehen Sie genauso vor. Wer die Sicherheitsabfrage für mv beispielsweise nicht verwenden möchte, trägt in die eigene Bash-Konfigurationsdatei ein:

unalias rm

Möchten Sie wissen, welche Alias-Definitionen systemweit und lokal zur Verfügung stehen, tippen Sie auf der Kommandozeile einfach alias gefolgt von [Eingabe].

Und neue Benutzer?

Benutzer-Konten legen Sie mit den Distributions-Tools an. Diese Programme kümmern sich darum, dass die neuen Benutzer automatisch die richtige Arbeitsumgebung vorfinden. Dazu greifen Sie u. a. auf Dateien im Verzeichnis /etc/skel zurück. Dort liegen -- je nach Distribution -- Dateien und Ordner, die beim Anlegen eines neuen Accounts in das jeweilige Home-Verzeichnis kopiert werden. Während unter SuSE Linux dort schon Verzeichnisse (wie z. B. Documents oder bin) und jede Menge Konfigurationsdateien liegen, beschränkt sich Mandrake Linux auf einige wenige Konfigurationsdateien:

# ls -a /etc/skel/
.  ..  .bash_logout  .bash_profi\
le  .bashrc  .mailcap  .screenrc\
tmp

Mit nur fünf Dateien und einem Ordner für die KDE-Einstellungen gibt sich Fedora Core 2 ebenso sparsam wie Mandrake Linux.

Rund um X

Auch wenn die grafischen Tools zur Konfiguration des X-Servers die meisten Dinge für Sie erledigen, schadet es nicht, einige für das grafische System relevante Dateien unter /etc/X11 zu kennen. Auf SuSE und Mandrake Linux finden Sie in der Datei /etc/X11/XF86Config-4 die grundsätzlichen Einstellungen zum X-Server. Dazu gehören u. a. Konfiguration der Tastatur, Maus und des Monitors.

Xmodmap ist eine Datei, die die Tastenbelegung unter X ändert. Auch wenn dieses Thema zu komplex ist, um es im Rahmen dieses Artikels kurz abzuhandeln -- mit dieser Datei oder dem gleichnamigen Befehl xmodmap können Sie theoretisch die gesamte Tastaturbelegung ändern -- zumindest ein kurzer Tipp: Auf einem Testrechner unter SuSE Linux 9.0 führte die Tastenkombination [Umschalten-Rückschritt] zum Beenden des X-Servers. Normalerweise gibt es dafür die Tastenkombination [Strg-Alt-Rückschritt] -- hat sich KDE oder GNOME einmal aufgehängt, schießen Sie auf diese Weise das grafische System ab. Um das unerwünschte Verhalten der Tastenkombination [Umschalten-Rückschritt] auf dem SuSE-Linux-System abzuschalten, reicht es aus, die Datei /etc/X11/Xmodmap (nach dem Anlegen einer Sicherungskopie) als Administrator mit dem Aufruf kdesu kate /etc/X11/Xmodmap im Text-Editor zu öffnen. Setzen Sie in der Datei zwei Ausrufungszeichen an den Anfang der Zeile

keycode  22 = BackSpace Terminat\
e_Server

Das Ergebnis sollte so aussehen:

!!keycode  22 = BackSpace Termin\
ate_Server

Damit kommentieren Sie die vom Distributor festgelegte Funktion der Tastenkombination aus. Um die Funktion der Taste neu zu definieren, fügen Sie eine neue Zeile mit folgendem Inhalt in die /etc/X11/Xmodmap ein:

keycode  22 = BackSpace

Benutzer und Gruppen

Die Datei /etc/passwd enthält Angaben zu den Benutzer-Accounts auf einem Linux-System. Lassen Sie sich nicht irritieren von Einträgen wie rpm oder apache -- Linux legt auch "Pseudo"-Accounts an, um Zugriffsrechte bestimmter Dateien, Verzeichnissen und Prozesse zu verwalten. Abbildung 4 zeigt die Datei -- interessant sind die Zeilen für die Benutzer mdrk92, huhn und peggy.

Abb. 4: Benutzer-Accounts verwaltete Linux in "/etc/passwd".

In mehreren Feldern, die ein Doppelpunkt voneinander trennt, sehen Sie an erster Stelle den Benutzernamen. Das x im zweiten Feld weist darauf hin, dass das Passwort in /etc/shadow zu finden ist. Die beiden Zahlen stehen für die Benutzer- und Gruppen-ID; es folgt ein Info-Feld mit dem Namen des Benutzers, der Name des Home-Verzeichnisses und die Standard-Shell.

Auf älteren Systemen stand anstelle des Eintrags x im zweiten Feld ein verschlüsseltes Passwort. Neuere Distributionen speichern es in der Datei /etc/shadow -- in verschlüsselter Form. Während viele Konfigurationsdateien unter /etc für normale Benutzer immerhin lesbar sind, verschließt sich /etc/shadow neugierigen Blicken von außen. Allein der Administrator darf die Datei hineinschauen.

Vom Rechte- und Gruppensystem unter Linux haben Sie sicher schon gehört. Welche Gruppen es gibt, und welche Mitglieder diese haben, sehen Sie in der Datei /etc/group. Um einen Benutzer zum Mitglied einer Gruppe zu machen, müssen Sie nicht auf das grafische Konfigurationsprogramm der Distribution zurückgreifen: Genauso schnell geht es, wenn Sie die Datei /etc/group mit einem Text-Editor bearbeiten. Um beispielsweise unter Mandrake Linux den Benutzer huhn in die Gruppe games aufzunehmen, starten Sie den Editor über [Alt-F2] und Eingabe von kdesu kwrite /etc/group, gehen bis zum Eintrag games:x:20: und tragen den Benutzernamen direkt hinter dem letzten Doppelpunkt ein:

games:x:20:huhn

Sollen weitere Benutzer hinzukommen, dürfen Sie diese durch Kommata voneinander getrennt, an die bereits vorhandenen Nutzer anhängen, also etwa:

games:x:20:huhn,peggy

Benutzer, die unter Mandrake Linux in der Gruppe games sind, haben z. B. Schreibrechte auf die systemweiten Highscore-Dateien einiger Spiele.

(hge/amü)
Infos
[1] Heike Jurzik und Hans-Georg Eßer, "Bergsteiger -- Dasteisysteme mounten", EasyLinux 06/2004, S. 80 f., http://www.easylinux.de/Artikel/ausgabe/2004/06/080-guru-mount/
[2] Elisabeth Bauer, "Schneller Räumen mit der Shell -- Dateien verschieben mit mv", EasyLinux 06/2003, S. 79 ff., http://www.easylinux.de/Artikel/ausgabe/2003/06/079-mv/index.html
[3] Elisabeth Bauer, "Ab in die Tonne -- Dateien und Verzeichnisse löschen mit rm", EasyLinux 07/2003, S. 76 ff., http://www.easylinux.de/Artikel/ausgabe/2003/07/076-guru-rm/

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2007-01-25 17:26

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]