SelfLinux Linux im Netzwerk Automount und Autofs Abschnitt 2 | SelfLinux-0.13.0

| Automount und Autofs | Autoren Formatierung GFDL

#### 3 Konfiguration

Die Konfiguration wird mit Hilfe von 2 Dateien durchgeführt. Die Datei auto.master, enthält alle mount-Punkte, und eine mount-Punkt-Datei, die die Optionen für einen speziellen mount-Punkt beschreibt.

#### 3.1 /etc/auto.master Datei

Hier werden die mount-Punkte im sogenannten Sun maps Format beschrieben.

/etc/auto.master: Jede Zeile beschreibt genau einen mount-Punkt und zeigt zu einer Datei, die die weiteren Optionen für diesen mount-Punkt enthält. Die dritte Spalte erlaubt es spezielle Optionen an mount zu übergeben.

Die Syntax einer Zeile ist:

/etc/auto.master

    mount-point map-for-the-associated-automount [ -mount-options-separated-by-comma ]

Beispiel:

/etc/auto.master

    /home   ldap            10.1.7.7:ou=home,ou=autofs,dc=foo,dc=bar
    /misc   /etc/auto.misc  --timeout 60
    /mnt    yp:mnt.map      -intr,nosuid,nodev

Dies konfiguriert 3 mount-Punkte, /home, /misc und /mnt. Um auf Dateien in /misc zuzugreifen, wird automount die Datei /etc/auto.misc lesen und dort eine Beschreibung des Dateisystems finden. In der letzten Zeile sieht man Optionen. Sie werden in den Manpages zu mount beschrieben.

#### 3.2 Automount maps

Die Syntax einer automount map ist fast die gleiche, wie von auto.master:

    Schlüssel [ -mount-optionen-seperiert-durch-Komma ] Ort-des-Dateisystems

Der Schlüssel ist ein symbolischer Name für das Dateisystem unter dem mount-Punkt.

Hier ist die Datei /etc/auto.misc aus dem obigen Beispiel:

/etc/auto.misc

    kernel  -ro,soft,intr       ftp.kernel.org:/pub/linux
    cdrom   -fstype=iso9660,ro  :/dev/cdrom
    floppy  -fstype=auto        :/dev/fd0
    windoz  -fstype=vfat        :/dev/hda1

Der absolute Pfad zu einer Datei ist dann:

/mount-Punkt/Schlüssel/Pfad/Datei

Man sieht auch, dass die erste Zeile auf ein über NFS exportiertes Dateisystem verweist (nur um zu zeigen, wie flexibel automount und autofs sind).

#### 3.3 autofs und NIS

In einem kleinen Netzwerk zu Hause wird man wahrscheinlich in der Lage sein, ohne NIS zu leben. NIS Network Information Service ist ein Weg, um Konfigurationsdateien (z. B. in /etc) auf andere Maschinen zu veteilen.

Der Hauptserver in unserem Beispielnetzwerk ist sol. Drei andere Maschinen des Netzwerkes sind telesto, mars und venus. sol ist als NIS Server für die Domain foobar konfiguriert. Die anderen Maschinen sind nur NIS Clients von sol.

Zunächst betrachten wir die Konfiguration des Servers sol. Wir beginnen mit dem Definieren einiger NIS maps, die alle notwendigen Informationen enthalten.

Soweit es NFS betrifft ist die Konfiguration sehr eingeschränkt. Die Datei /etc/exports von sol enthält:

/etc/exports

    /usr/local    *

An dieser Stelle sollte man auf automount setzen, um auf das exportierte Verzeichnis /usr/local zuzugreifen. Anstatt dieses Verzeichnis zur Boot-Zeit zu mounten, geschieht es automatisch, sobald ein Benutzer auf eine Datei in diesem Verzeichnis zugreift. Man erzeugt die Datei /etc/auto.map, um zu definieren, was zugreifbar sein wird, sowohl durch automount als auch durch NIS:

/etc/auto.map

    sol          sol:/usr/local

Da man diese Informationen (die neue auto.map und die netgroup Dateien) in die NIS Datenbank integrieren will, muss man das Makefile von NIS anpassen, bevor die NIS Datenbank neu erstellt wird. Was auto.map betrifft, so so wird diese Datei nicht standardmässig definiert. Man muss nur einen neuen Eintrag in das Makefile hinzufügen, mit der assoziierten Regel (benutzen der existierenden als ein Modell):

/var/yp/Makefile

    #To be added in the Yellow Pages Makefile

    AUTO_MAP    = $(YPSRCDIR)/auto.map
    # ...
    #...
    auto.map: $(AUTO_MAP) $(YPDIR)/Makefile

                @echo "Updating $@..."
                -@sed -e "/^#/d" -e s/#.*$$// $(AUTO_MAP) | $(DBLOAD) \
                -i $(AUTO_MAP) -o $(YPMAPDIR)/$@ - $@
                -@$(NOPUSH) || $(YPPUSH) -d $(DOMAIN) $@

Diese Produktionsregel entfernt nur Kommentare, fügt einen neuen Eintrag in die Datenbank hinzu und übermittelt dann die Information zu jedem NIS Server der NIS-Domain foobar.

Man muss hierzu nur make aus dem Verzeichnis /var/yp heraus ausführen.

root@linux # cd /var/yp root@linux /var/yp# make

Nun zu den drei Clients telesto, mars und venus. Hier gibt es nicht viel tun. Man muss lediglich autofs mitteilen, dass es eine neue map, die von YP (NIS) übergeben wird, verwalten soll. In jeder Datei /etc/auto.master des Clients informiert die folgende Zeile über die Anwesenheit einer map auto.map, verwaltet durch die YP Dienste (NIS).

/etc/auto.master

    /usr/local    yp auto.map    --intr,nosuid,nodev

Danach muss autofs neu gestartet werden, damit die neue map wirksam wird.

root@linux # /etc/init.d/autofs restart Stopping automounter: Stopped 798() done. Starting automounter: /usr/local.

Jetzt hat man ein einziges physikalisches Verzeichnis /usr/local auf sol. Wenn spezifische Programme auf sol installiert werden, können alle Maschinen diese sofort nutzen.

#### 3.4 autofs und LDAP

Die Benutzung von LDAP zur Steuerung des Automounters, bietet sich vor allem in Umgebungen an, in denen bereits ein oder auch mehrere LDAP-Server im Einsatz sind.

Auf Serverseite ist es lediglich nötig das entsprechende Schema für den automounter einzubinden. Dieses Schema wird, obwohl es in den meisten Fällen sehr nützlich ist, leider nicht mit OpenLDAP ausgeliefert.

Im Folgenden findet man das für den automount nötige Schema, welches man am besten als /etc/ldap/schema/automount.schema speichert.

/etc/ldap/schema/automount.schema

    attributetype ( 1.3.6.1.1.1.1.25 NAME 'automountInformation'
            DESC 'Automount information'
            EQUALITY caseExactIA5Match
            SUBSTR caseExactIA5SubstringsMatch
            SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{1024} SINGLE-VALUE )

    objectclass ( 1.3.6.1.1.1.2.13 NAME 'automount' SUP top STRUCTURAL
            DESC 'Automount information'
            MUST ( cn $ automountInformation )
            MAY ( description ) )

    objectclass ( 1.3.6.1.4.1.2312.4.2.2 NAME 'automountMap' SUP top STRUCTURAL
            DESC 'An group of related automount objects' MUST ( ou ) )

Des weiteren muss diese Datei natürlich auch in der Konfigurationsdatei des LDAP-Servers eingebunden werden:

/etc/ldap/slapd.conf

    # Schema and objectClass definitions
    include         /etc/ldap/schema/core.schema
    include         /etc/ldap/schema/cosine.schema
    include         /etc/ldap/schema/nis.schema
    include         /etc/ldap/schema/inetorgperson.schema

    include         /etc/ldap/schema/automount.schema

Nun müssen die gewünschten Einträge noch im LDAP-Server vorgenommen werden. Es gibt zahlreiche graphische Oberflächen, die hierbei hilfreich sein können. Auf Grund der grossen Zahl dieser Programme, werden hier nur die realen Daten im ldif-Format angegeben.

    dn: ou=autofs,dc=foo,dc=bar
    objectClass: top
    objectClass: organizationalUnit
    ou: autofs

    dn: ou=home,ou=autofs,dc=foo,dc=bar
    objectClass: top
    objectClass: organizationalUnit
    ou: home

    dn: cn=/,ou=home,ou=autofs,dc=foo,dc=bar
    objectClass: top
    objectClass: automount
    cn: /
    automountInformation: saturn:/home_phys/&

Zu obigen Eingaben wäre die äquivalente auto.home:

/etc/auto.home

    *         saturn:/home_phys/&

Auf den Clients gibt es auch in diesem Fall nicht sehr viel zu tun. Man muss nur autofs mitteilen, dass eine neue map existiert, die über LDAP bezogen und verwaltet werden soll.

/etc/auto.master

    /usr/local    ldap 10.1.7.7:ou=home,ou=autofs,dc=foo,dc=bar

Danach muss autofs noch neu gestartet werden. Ab sofort stehen nun unter /home die zentral auf saturn liegenden Home-Verzeichnisse zur Verfügung.