Next: Home, Sweet Home
Up: Reise durch's Dateisystem
Previous: Die Gerätedateien im Verzeichnis
Im Verzeichnis /etc befinden sich Konfigurationsdateien für das Basissystem. Fast alle Dateien dieses Verzeichnisses enthalten normalen Text und können/müssen von der Systemverwalterin mit einem normalen Editor bearbeitet werden, um die von diesen Konfigurationsdateien gesteuerten Programme an das lokale System anzupassen.
Ein Listing des /etc-Verzeichnisses sieht beispielsweise so aus:
$ ls -F /etc X11/ gettydefs inittab passwd services adjtime group issue printcap shells csh.login host.conf ld.so.conf profile skel/ disktab hosts lilo.conf protocols syslog.conf exports hosts.allow magic psdatabase termcap fdprm hosts.deny motd rc.d/ ttytype fstab hosts.equiv mtab resolv.conf ftpusers hosts.lpd mtools rpc gateways inetd.conf networks securetty $ _
Aus Gründen der Systemsicherheit sollten ,,normale`` Benutzer die Dateien im Verzeichnis /etc nur lesen, aber nicht verändern können.
Die Datei adjtime enthält die Daten zur Korrektur der batteriegepufferten CMOS-Uhr. Die Daten werden vom Systemprogramm clock ausgewertet. Weitere Informationen finden Sie auf Seite .
Jede Zeile, die nicht mit einem # als Kommentar gekennzeichnet ist, beschreibt ein Diskettenformat. Der erste Eintrag ist eine beliebige Zeichenkette zur namentlichen Bezeichnung des Formates. Die darauffolgenden 9 Einträge sind die eigentlichen Formatparameter.
Die Werte für die Formatparameter lassen sich unmittelbar nach dem Formatieren mit dem Kommando getfdprm ermitteln.
#Name size sec/t hds trk stre gap rate spec1 fmt_gap 23.80.2 3680 23 2 80 0 0x1c 0x14 0xcf 0x04 23.82.1 3772 23 2 82 0 0x1c 0x10 0xcf 0x04 23.82.2 3680 23 2 82 0 0x1c 0x14 0xcf 0x04
Weil der Kernel bereits 31 vordefinierte Formate automatisch erkennen und benutzen kann, ist die manuelle Einstellung des Diskettenformates in der Regel überflüssig.
Im Kernel sind keine 2m-Formate definiert. Wenn eine in diesem Format erstellte Diskette mit dem mount-Kommando in das Dateisystem eingebunden werden soll, müssen nach dem Einlegen der entsprechenden Diskette vor dem ersten Zugriff die entsprechenden Parameter geladen werden. In dem Beispiel oben sind unter 23.80.2 die Parameter für eine 2m-formatierte 3,5 Zoll Diskette mit 23 Sektoren pro Spur und 80 Spuren angegeben.
In der Datei /etc/fstab sind die dauerhaften Parameter für die Zusammensetzung des Dateisystems gespeichert. Hier legt die Systemverwalterin fest, welche Partitionen an welcher Stelle in das Dateisystem eingehängt werden. Die Datei wird von dem Kommando mount -a ausgewertet, wenn es bei der Systeminitialisierung von einem der Initialisierungsscripts ausgeführt wird.
Die Einträge in dieser Datei haben die Form:
Eine genaue Beschreibung dieser Datei finden Sie ab Seite .
Die Datensätze der group Datei haben folgendes Format:
Weitere Informationen zur Verwaltung von Benutzergruppen finden Sie auf Seite .
Mit dem newgrp-Kommando kann jeder hier eingetragene Anwender die aktuelle Benutzergruppe wechseln. Wenn im Paßwort Feld ein verschlüsseltes Paßwort wie im entsprechenden Feld der /etc/passwd Datei eingetragen ist, können alle Systembenutzer, die das unverschlüsselte Paßwort kennen, in diese Gruppe wechseln.
Die Datei /etc/hosts gehört zu den Konfigurationsdateien des TCP/IP Netzwerkes. Hier werden die typischen vier Byte langen IP-Adressen den verbalen Namen der Netzwerkrechner fest zugeordnet. In Jugend des Internet mußten in dieser Datei alle Rechner des internationalen Netzes eingetragen sein, zu denen eventuell irgendwann einmal eine direkt benannte Verbindung aufgebaut werden könnte (das heißt eigentlich jeder Rechner des Internet).
Unter Linux wird die Auflösung eines Rechnernamens in seine IP-Adresse (und umgekehrt) durch den Domain Name Service mit dem bind-Paket erledigt. Um bei Einzelrechnern und kleinen lokalen Netzwerken den administrativen Aufwand eines Nameservers zu sparen, kann trotzdem weiterhin die /etc/hosts Datei benutzt werden. Dazu wird der als resolver bezeichnete Teil des Nameservers durch entsprechende Einträge in der Datei /etc/host.conf veranlaßt, zuerst in der hosts Datei nach einer passenden Auflösung für eine Adresse zu suchen. Die Funktionen des resolver sind in der C-Standardbibliothek enthalten, deshalb wird er automatisch von allen Programmen mit Netzwerkfähigkeit (z.B. ftp, telnet, smail, aber auch vom X-Server) benutzt.
Die Einträge in /etc/hosts sind einfacher Text und bestehen aus den IP-Adressen der Hostrechner am Anfang einer Zeile und den offiziellen oder inoffiziellen Namen dieser Rechner, jeweils durch Leerzeichen oder Tabulatoren getrennt.
127.0.0.1 localhost 193.98.158.33 atlantis.lunetix.de atlantis 193.98.158.1 soho.lunetix.de soho 193.98.158.2 cicero.lunetix.de cicero 193.98.158.5 ovid.lunetix.de ovid
Die Datei /etc/inittab wird vom init Programm benutzt, das die darin festgelegten Prozesse startet und so das Benutzersystem initialisiert. Eine genaue Beschreibung dieser Datei finden Sie im Abschnitt über die Systeminitialisierung.
Die Datei /etc/issue wird von getty vor dem Login-Prompt ausgegeben. Der Text, oder besser das Bild, das mit dieser Datei angezeigt wird, ist so etwas wie die Fassade des Systems.
Nach der Installation eines neuen Systems wird in diesem Text-Bild meistens der Name der Linux-Distribution präsentiert. Die Distributoren wenden gerne einen Trick an, um den Austausch dieser Titelseite zu verhindern: In einem der Initialisierungsscripts (beispielsweise /etc/rc.d/rc.local) wird bei jedem Systemstart die issue-Datei mit der Datei des Distributors überschrieben. Wenn Sie Ihrem System eine eigene Fassade geben wollen, müssen Sie diesen Mechanismus abstellen oder an Ihre eigenen Bedürfnisse anpassen.
ldconfig erzeugt die Datei /etc/ld.so.cache und die symbolischen Links auf die dynamischen Laufzeitbibliotheken, mit denen der Laufzeitlinker ld.so die Shared Libraries identifiziert.
Die beiden Standardverzeichnisse für die Laufzeitbibliotheken, /lib und /usr/lib müssen in /etc/ld.so.conf nicht extra angegeben werden. Zusätzliche Verzeichnisse, in denen Shared Libraries für den Laufzeitlinker typischerweise installiert werden, sind /usr/X11R6/lib und /usr/i486-linuxaout/lib.
Das Programm ldconfig sollte bei jedem Systemstart automatisch von einem der Initialisierungscripts aufgerufen werden, damit stets die aktuellsten Versionen aller Laufzeitbibliotheken verwendet werden.
Die Datenbank /etc/magic wird vom Kommando file benutzt, um den Typ einer Datei festzustellen. Es vergleicht die hier gespeicherten Merkmale mit der zu untersuchenden Datei und gibt bei Übereinstimmung den hier verzeichneten Dateityp aus.
Diese Datei befindet sich häufig nicht im Verzeichnis /etc sondern in /usr/lib.
In der Datei /etc/man.config wird die Laufzeitkonfiguration des Online-Hilfesystems man festgelegt. Hier kann der MANPATH bestimmt werden, das sind die Verzeichnisse, in denen nach den Manualpages gesucht wird. Hier kann auch die Reihenfolge verändert werden, in der die verschiedenen Sektionen nach einer Manualpage durchsucht werden.
Die Message Of The Day wird jedem User automatisch am Ende der Login-Prozedur angezeigt, noch bevor die Shell den ersten Prompt ausgibt. Der Zweck dieser Datei ist, wie der Name schon sagt, in möglichst plakativer Form über eine aktuelle Neuigkeit von allgemeiner Wichtigkeit zu informieren.
Die Datei /etc/nologin wird nur vom login Programm benutzt. Wenn diese Datei existiert, ist jedes ,,normale`` Einloggen im System unmöglich. Nur die Superuserin (root) kann sich trotzdem beim System anmelden. Wenn ein anderer Benutzer versucht, sich einzuloggen, wird der Inhalt der Datei /etc/nologin ausgegeben.
Es ist ratsam, in der Datei /etc/rc bei der Initialisierung des Systems mit dem Kommando `rm -f /etc/nologin' eine eventuell noch vorhandene Sperrung zu lösen.
Die Datensätze der Paßwortdatei bestehen aus:
Jeder Benutzer kann mit dem Systemkommando passwd sein Paßwort selbständig ändern. Er sollte das in regelmäßigen Abständen und zu besonderen Anlässen auch tun.
Ausführlichere Informationen zur Benutzerverwaltung finden Sie ab Seite .
Die Datei /etc/printcap enthält eine stark formalisierte Beschreibung des oder der Drucker des Systems. Sie wird vom lpd Druckerdämon ausgewertet, der die Druckjobs im System verwaltet. Eine Beschreibung ist im Kapitel über Dämonen zu finden.
Die Datei /etc/profile wird von den Loginshells aller Benutzer gelesen und als Shellscript ausgeführt. Hier werden Grundeinstellungen der Shellumgebung für alle User vorgenommen. Wenn sie nicht vor dem Überschreiben geschützt werden (siehe beim Shellkommando typeset), können alle Einstellungen von einer benutzereigenen Initialisierungsdatei wieder geändert werden.
# Beispiel für /etc/profile PATH="/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin" PS1="[\u@\h \W]\\$ " PS2="> " umask 022 ulimit -c 0
Die Datei /etc/psdatabase enthält kernelabhängige Daten für das Systemprogramm ps (genauer procps). Anhand der in dieser Datei abgespeicherten Informationen kann ps in einem ausführlichen Listing der Prozeßtabelle (mit der Option -l) den Namen der Kernelfunktion anzeigen, in der ein Prozeß gerade schläft.
Die psdatabase kann nicht mit einem normalen Editor bearbeitet werden. Sie wird durch das spezielle Programm psupdate aus der Kerneldatei /usr/src/linux/vmlinux erzeugt.
Das kernelabhängige ps benötigt ebenfalls eine derartige Datei. Das Format ist jedoch nicht kompatibel. kmem-ps legt seine psdatabase normalerweise im Verzeichnis /var/run ab.
Die Dateien /etc/rc* sind die Systeminitialisierungsdateien. Sie werden vom Systemprogramm init beim Booten der Shell übergeben, die die darin enthaltenen Kommandozeilen ausführt.
Eine ausführliche Beschreibung der Systeminitialisierung durch init finden Sie ab Seite in diesem Buch.
Wenn Sie das Shadow-Paßwortsystem installiert haben, kann diese Datei durch den Eintrag ``CONSOLE /etc/securetty'' in login.defs aktiviert werden.
In der Datei /etc/shells sind alle verfügbaren (zugelassenen und uneingeschränkten) Loginshells eingetragen.
Sie wird vom chsh-Kommando ausgewertet. Dem Anwender wird damit die Möglichkeit gegeben, die in dieser Datei zeilenweise aufgelisteten Programme als Loginshell in der Datei /etc/passwd einzutragen.
Außerdem wird sie vom ftp Dämon benutzt, um festzustellen, ob ein Benutzer einen uneingeschränkten Shellaccount hat, um ihm in diesem Fall auch den uneingeschränkten FTP-Zugang zu gestatten.
Die Datei /etc/termcap ist eine Datenbank, in der die Steuersequenzen für verschiedene Terminals abgespeichert sind. Diese Datenbank ist stark formalisiert, kann aber mit jedem Editor gelesen und bearbeitet werden.
Viele Programme benutzen diese Datenbank, indem sie die Steuerzeichen für die Bildschirmausgabe und die ankommenden Tastaturcodes mit den entsprechenden Einträgen in der Datenbank übersetzen. Die zu einem Terminal passende Übersetzungstabelle wird in der TERM Umgebungsvariablen bestimmt, die vom getty Programm oder bei der Shellinitialisierung gesetzt wird.
Eine genaue Erklärung aller möglichen Einträge dieser Datei würde den Rahmen dieses Buches sprengen. Es gibt eine TEX info-Datei zu termcap und Tim O`Reilly hat Bücher über termcap und über die curses-Library herausgebracht, die Ihnen alle Fragen zu diesem Thema beantworten können.
Das Linux Anwenderhandbuch