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