Inhaltsverzeichnis

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:

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