1.85. Mounten als Benutzer
Immer wieder stoßen Neulinge auf das Problem, dass sich Floppy und CD-ROM nur als User root mounten lassen.
Ehemalige Windows-User können schon meist mit dem Begriff „mounten“ nichts anfangen und ehemalige Linux-Benutzer sind es gewohnt, dass der Automounter sofort nach der Installation funktioniert und so ein Mounten von CD-ROM und Floppy möglich ist.
Das Mounten von CD und Floppy für normale Nutzer kann allerdings eine Sicherheitslücke sein. Deshalb ist es auf den meisten BSDs nicht vorkonfiguriert.
Was auf Servern und PCs mit mehreren Usern sicher sinnvoll erscheint, ist bei dem heimischen PC doch eher lästig. Wer möchte schon immer mittels „su“ root werden und dann das jeweilige Medium mounten, oder wer will „sudo“ dafür einsetzen, welches auch wieder ein Passwort verlangt.
1.85.1. Sysctl
Damit das Kommando mount überhaupt von anderen Nutzern als root verwendet werden kann müssen Sysctl Variablen geändert werden. Je nach System, Securelevel und Variable kann man Änderungen zur Laufzeit vornehmen, machmal ist jedoch ein Neustart notwendig.
1.85.1.1. FreeBSD
Als Benutzer root sollte man
# sysctl vfs.usermount=1
eingeben. Diese Einstellung kann man in der Datei /etc/sysctl.conf
festhalten, damit sie auch nach einem Neustart erhalten bleibt. Dazu
trägt man einfach
vfs.usermount=1
in die Datei ein.
1.85.1.2. NetBSD
Um die Einstellung zur Laufzeit vorzunehmen benutzt man das Kommando:
# sysctl -w vfs.generic.usermount=1
In die /etc/sysctl.conf
trägt man die Zeile
vfs.generic.usermount=1
ein.
1.85.1.3. OpenBSD
Als root in der Konsole:
# sysctl kern.usermount=1
In /etc/sysctl.conf
:
kern.usermount=1
1.85.2. Zugriffsrechte setzen
Je nach System gibt es hier ein anderes Vorgehen.
1.85.2.1. FreeBSD 4.x
Um nun Usern das Mounten von Floppy und CDROM zu erlauben:
# chmod 666 /dev/fd0
# chmod 666 /dev/acd0c
Wenn Du andere Floppies und CDROMS hast, musst Du fd0 und acd0c entsprechend abändern.
Du kannst, wie Du schon vorgenommen hast, auch Usern der Gruppe „operator“ das Mounten von CDROM und floppy erlauben:
# chgrp operator /dev/acd0c
# chmod 640 /dev/acd0c
# chgrp operator /dev/fd0
# chmod 640 /dev/fd0
1.85.2.2. FreeBSD ab 5.x
Die vorher hier beschriebene Variante mit Einträgen in der
/etc/devfs.conf
setzt Nutzerrechte nur nach dem booten. Wenn man
Usern erlauben will auch zur Laufzeit angebundene Geräte wie einen PDA,
eine externe Festplatte oder eine Memory Disc (zum Beispiel für ISO
images) zu verwenden, braucht man die /etc/devfs.rules
. Der Vorteil
dieser Methode ist, dass die Rechte direkt beim Erzeugen des Geräts
gesetzt werden. Also auch bei zur Laufzeit angeschlossenen Geräten (z.B.
USB-Geräte) greifen.
Um neue Regeln festzulegen muss man in der /etc/devfs.rules
ein
neues Ruleset anlegen. Die Manpage schlägt dafür
[localrules=10]
vor. Damit das System die neuen Regeln auch verwendet muss man noch in
die /etc/rc.conf
folgenden Eintrag machen:
devfs_system_ruleset="localrules"
Folgendes Beispiel zeigt eine typische /etc/devfs.rules
:
[localrules=10]
add path 'acd*' mode 0660 group operator
add path 'cd*' mode 0660 group operator
add path 'md*' mode 0660 group operator
add path 'ttyU*' mode 0660 group operator
add path 'cuaU*' mode 0660 group operator
Mit add path
legt man ein Regelwerk an. Mit dem nächsten Parameter
in Anführungszeichen legt man fest wofür diese Regeln gelten. Danach
kann man Zugriffsregeln festlegen. Der Parameter mode
entsprichte
einem chmod
Kommando und group
einem chown
Kommando.
Die Devices im Beispiel haben folgende Bedeutung:
‚acd*‘
ATAPI CD-Rom Laufwerke.
‚cd*‘
SCSI und Cam (z.B. für Brennprogramme) CD-Rom Laufwerke.
‚md*‘
Memory Discs, dazu gehören auch aus Dateien erzeugte Devices, z.B. um ein ISO oder Festplatten Image zu mounten.
‚ttyU*‘ und ‚cuaU*‘
Das sind terminal devices die man benötigt um auf PDAs zuzugreifen. Z.B. mit dem Programm jpilot.
Zum Schluß kann man noch mit dem Kommando
# /etc/rc.d/devfs restart
Das Regelwerk aktivieren. Alternativ kann man auch den Rechner neu starten.
1.85.2.3. NetBSD und OpenBSD
Der Benutzer, der mounten soll, braucht Lese- und Schreibrechte auf die
Geräte, die er mounten darf. Entweder fügt man ihn der Gruppe
operator
hinzu:
# usermod -G operator Benutzer
# chmod 660 GERÄT
Oder man erstellt eine neue Gruppe, der root und alle Benutzer zugeordnet werden, die zugreifen dürfen:
# groupadd mounters
# usermod -G mounters root
# usermod -G mounters Benutzer
# chgrp mounters GERÄT
# chmod 660 GERÄT
Als GERÄT
kann u.a. das CD-Laufwerk mit /dev/cd0a
oder ein
USB-Stick mit /dev/sd0e
angegeben werden.
1.85.3. Mountpoint
Der Mountpoint in den ein Benutzer mountet muss diesem Nutzer gehören. Die einfachste Lösung ist hier sicher ein Mountpoint im Home Verzeichnis des Benutzers. Für Mounts die immer wieder vorkommen und mehreren Nutzern zugänglich sein sollten empfiehlt sich jedoch die Verwendung einse Automounters.
Ab Version 4.0 müssen unter NetBSD die Optionen nodev
und
nosuid
für den Mount-Befehl verwendet werden, z.B.:
/sbin/mount -t cd9660 -o nodev,nosuid /dev/cd0a $HOME/cdrom
Zuletzt geändert: 2023-07-22