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.
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.
|
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).
|
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.
|
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 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.
|
|