Dies ist eine alte Version des Dokuments!
Automount mit benutzerdefinierten Rechten
Wenn man eine externe Festplatte ansteckt, kommt es häufig vor, dass diese automatisch gemounted wird und Rechte gesetzt bekommt, die die sinnvolle Arbeit damit behindern. Um dies zum umgehen, sind ein paar kleine Eingriffe in das System nötig:
UDev-Eintrag selbst definieren
UDev sorgt für die Behandlung von Hotplugging-Events. Dazu arbeitet es die Regeln ab, die in /etc/udev/rules.d/
definiert sind. Dort fügen wir nun unsere eigene Regel ganz zu Beginn der Kette ein, um unsere Platte extra zu behandeln.
Zuerst müssen wir dazu herausfinden, wie wir die Platte erkennen können. Dazu stecken wir die Platte an und führen den Befehl lsusb -v
als Root (wichtig!) aus. In der Ausgabe suchen wir nach unserer Platte und dort nach dem Eintrag iSerial. Ist dieser nicht vorhanden, müssen wir stattdessen mit iVendor oder anderen Erkennungskriterien arbeiten. Der Einfachheit halber nehme ich an, dass iSerial existiert.
Jetzt erstellen wir eine Datei /etc/udev/rules.d/01-usb-custom.rules
und schreiben in diese folgendes rein:
BUS=="usb", KERNEL="sd?1", SYSFS{serial}="01234", SYMLINK+="exthdd", RUN+="/usr/local/bin/automount-exthdd.sh"
Zur Erklärung:
- Es ist ein USB-Gerät, daher ist BUS auf „usb“ gesetzt.
- Der Kernel legt normalerweise ein Device sdb oder ähnlich an. Wir wollen also sd*1 abfangen und umbiegen.
- Jetzt folgt die Idenfitikation des Geräts durch die Seriennummer. Hier natürlich den Wert eintragen, den wir zuvor rausgesucht haben.
- Als nächstes definieren wir einen Namen für die Device-Datei, die erzeugt werden soll.
- Und zuletzt lassen wir ein Script aufrufen, damit auch wirklich automatisch gemountet wird.
Mount-Eintrag erstellen
Jetzt müssen wir in /etc/fstab
eine Regel definieren, die festlegt wie unser Gerät /dev/exthdd
gemountet wird. Zuerst erstellen wir ein Verzeichnis /media/exthdd
(oder /mnt/exthdd
) und dann fügen wir in /etc/fstab
diese Zeile hinzu:
/dev/exthdd /media/exthdd vfat user,auto,uid=1000,gid=1000,iocharset=utf8 0 0
So oder ähnlich. Hier muss natürlich der korrekte Dateisystem-Typ eingetragen werden (vfat
) und die Optionen entsprechend sinnvoll gewählt werden. Man sollte hier schon wissen, was man tut. :) Details dazu finden sich aber in jedem Mount-Tutorial.
Automount-Skript
Tja. Und zuletzt müssen wir noch das Script schreiben, das wir in unserer UDev-Regel automatisch aufrufen lassen. Wir erstellen also die Datei /usr/local/bin/automount-exthdd.sh
und schreiben hinein:
#!/bin/sh mount /media/exthdd
Jetzt nur noch mit chmod +x /usr/bin/local/automount-exthdd.sh
das Script ausführbar machen und schon ist alles fertig.
Wenn jetzt die Platte angesteckt wird, sollte sich in /dev
die Datei exthdd
finden und diese sollte in /media/exthdd
eingehängt werden (mit mount
überprüfen!).