Automatisches mounten mit automount

Bamboozle

Bamboozle

Aktives Mitglied
Thread Starter
Dabei seit
26.12.2004
Beiträge
117
Reaktionspunkte
2
Hallo,

die Infos zu diesem Beitrag musste ich mir mühsam aus unterschiedlichen Quellen zusammensuchen. Mangelnde Kenntnisse und Verständnis :) haben dann noch dafür gesorgt, dass ich doch eine Weile probiert habe, bis es bei mir wie gewünscht lief. Da ich der Meinung bin, dass diese Lösung auch für andere nützlich sein kann, möchte ich mein Ergebnis hier gerne veröffentlichen bzw. zur Diskussion stellen.

Das Problem:

Ich habe hier etliche Macs mit unterschiedlichen Aufgaben im Haus verteilt. Ein Mini dient als "Server". An diesem hängen externe Festplatten/Raids und auf diese soll man von den anderen Macs zugreifen können. Außerdem ist auch noch ein NAS mit im Spiel. Musste ich den Mini oder das NAS neu starten, gab es bei den anderen Macs häufig das Problem, dass die Mounts, die ich über den Finder oder per Skript /sbin/mount_afp gemacht hatte, nicht mehr erreichbar waren. Sehr lästig.

Meine Lösung:

Auf der Suche bin ich recht zügig auf automount gestoßen. Mein Ziel war es dabei, alle mount points unter /Volumes (und dort in einem Ordner Resources) zu vereinigen. Dadurch können auch andere User auf dem Rechner darauf zugreifen. OSX hat nun die Eigenheit (die aber auch Vorteile hat), dass bei einem Neustart /Volumes immer geleert wird und somit das von automount erwartete Verzeichnis fehlt. Also habe ich eine Lösung gebastelt, die dieses Problem umgeht.

Wenn jemand Hinweise oder Verbesserungsvorschläge hat, nur zu!

Hier mein Protokoll der Vorgehensweise mit Kommentaren dazwischen, was wo wie warum passiert. Ich hoffe, es dient dem ein oder anderen zumindest als Grundlage für eigene Lösungen:

**********

automount sorgt im Hintergrund dafür, dass bei Aufruf eines Verzeichnisses, welches über automount gemountet wurde, dieses bei Bedarf neu gemountet wird. Dazu ist es sinnvoll, in /Volumes ein neues Verzeichnis zu erstellen, in dem dann alle mount points verfügbar sind.


Problem war, dass MacOS bei jedem Neustart dieses Verzeichnis wieder gelöscht hat und automount nicht mehr funktionierte, da das erwartete Verzeichnis nicht gefunden wurde.


Daher soll während des Logins des Users juergen alles Nötige veranlasst werden. Um dies zu erreichen wird in /etc/sudoers eingetragen, dass der User juergen automount ohne Eingabe eines Kennworts als sudo ausführen darf.


Zur Vorbereitung:


sudo nano /etc/auto_master


/Volumes/Resources auto_resources
+auto_master # Use directory service
/net -hosts -nobrowse,hidefromfinder,nosuid
/home auto_home -nobrowse,hidefromfinder
/Network/Servers -fstab
/- -static


Die erste Zeile stellt die Verbindung zum Textfile auto_resources her, in dem die eigentlichen Mountvorgänge beschrieben werden. Immer wenn auf das Verzeichnis /Volumes/Resources zugegriffen wird, prüft automount ob etwas zu mounten ist.


Hinweis: mit ctrl-x nano beenden, mit "y" und dann Return bestätigen.


sudo nano /etc/auto_resources


m1_juergen -fstype=afp afp://juergen:kennwort@192.168.100.21:548/juergen


Für jeden Mountpoint eine Zeile.
Hinweis: Auch wenn in /Volumes/Resources m1_juergen als Mountpoint steht, wird im Finder nur juergen (also der Name auf dem entfernten Rechner) verwendet.
Hinweis: Statt der IP kann man auch z.B. MacMini1.local angeben


WICHTIG: Hat man die Datei nicht mit sudo erstellt, sollte mit


sudo chmod 600 /etc/auto_resources


nur für root read/write gesetzt werden (die Datei sollte root gehören und nur von diesem gelesen/geschrieben werden können: Sicherheitsgründe!).


sudo nano /etc/sudoers


juergen ALL = NOPASSWD: /usr/sbin/automount -vc


Diese Zeile am Ende der Datei einfügen.
Hinweis: Falls man beim Einfügen dieser Zeile einen Fehler macht und die Datei speichert, hat man aus dem Terminal unter Umständen keinen Zugriff mehr auf die Datei, da der Befehl sudo nicht mehr richtig funktioniert. In diesem Fall die Datei mit BBEdit öffnen, dann kann man sie korrigieren und wieder speichern. Oder noch besser: vorher eine Kopie der Datei anlegen, damit man die fehlerhafte wieder ersetzen könnte.


Da automount beim Reboot - wie gesagt - das gewünschte Verzeichnis nicht findet (da von OSX gelöscht), muss nun noch ein Skript das Ausführen beim Login übernehmen:


/Users/juergen/Applications/MountShares


echo "checking mount point /Volumes/Resources"
if [ ! -d "/Volumes/Resources" ]; then
echo "creating mount point /Volumes/Resources"
mkdir /Volumes/Resources
fi
echo "running automount"
sudo automount -vc
echo "Refreshing /Volumes/Resources"
ls -al /Volumes/Resources/
echo "All done."


Es wird geprüft, ob das Verzeichnis /Volumes/Resourses schon existiert und bei Bedarf angelegt. Dann automount aufgerufen.
ls dient dazu, dass schon ein erster Zugriff erfolgt. War bei mir nötig, damit der Finder nicht immer meine Favoriten der gemounteten Laufwerke nach einem Neustart gelöscht hat, wenn ich darauf zugreifen wollte.
Das Skript MountShares nun noch im Terminal ausführbar machen und zu den Login-Items hinzufügen.

Hinweis: Der Finder zeigt direkt nach dem einloggen für eine Zeit (hängt wohl von der Anzahl und Art der gemountetet volumes ab) die rotierende Scheibe (Beachball). Das dauert meist ein paar Sekunden und ist normal, da der Finder offensichtlich für den Zugriff länger braucht als bei zugriff über das Terminal.
 
Zurück
Oben Unten