19.4. USB Speichermedien

Beigetragen von Marc Fonvieille.

Der Universal Serial Bus (USB) wird heutzutage von vielen externen Speichern benutzt: Festplatten, USB-Thumbdrives oder CD-Brennern, die alle von FreeBSD unterstützt werden.

19.4.1. USB-Konfiguration

Der Treiber für USB-Massenspeicher, umass(4), ist im GENERIC-Kernel enthalten und bietet Unterstützung für USB-Speichermedien. Für einen angepassten Kernel müssen die nachstehenden Zeilen in der Kernelkonfigurationsdatei enthalten sein:

device scbus
device da
device pass
device uhci
device ohci
device ehci
device usb
device umass

Da der umass(4)-Treiber das SCSI-Subsystem benutzt um auf USB-Geräte zuzugreifen, werden alle USB-Geräte vom System als SCSI-Geräte erkannt. Abhängig vom Chipsatz Ihrer Systemplatine wird device uhci oder device ohci für die Unterstützung von USB 1.X benutzt. Unterstützung für USB 2.0 Controller wird durch device ehci bereitgestellt.

Anmerkung:

Wenn es sich bei dem USB-Gerät um einen CD- oder DVD-Brenner handelt, muss cd(4) in den Kernel aufgenommen werden:

device cd

Da der Brenner als SCSI-Laufwerk erkannt wird, sollten Sie den Treiber atapicam(4) nicht benutzen.

19.4.2. Die USB-Konfiguration testen

Um die USB-Konfiguration zu testen, schließen Sie das USB-Gerät an. In den Systemmeldungen, dmesg(8), sollte das Gerät wie folgt angezeigt werden:

umass0: USB Solid state disk, rev 1.10/1.00, addr 2
GEOM: create disk da0 dp=0xc2d74850
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
da0: 1.000MB/s transfers
da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)

Fabrikat, Gerätedatei (da0) und andere Details werden je nach Gerät unterschiedlich sein.

Da ein USB-Gerät als SCSI-Gerät erkannt wird, kann camcontrol benutzt werden, um die mit dem System verbundenen USB-Massenspeicher anzuzeigen:

# camcontrol devlist
<Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)

Wenn auf dem Laufwerk ein Dateisystem eingerichtet ist, kann es gemountet werden. Abschnitt 19.3, „Hinzufügen von Laufwerken“ beschreibt, wie Sie USB-Laufwerke formatieren und Partitionen einrichten.

Warnung:

Aus Sicherheitsgründen sollten Sie Benutzern, denen Sie nicht vertrauen, das Einhängen (z.B. durch die unten beschriebene Aktivierung von vfs.usermount) beliebiger Medien verbieten. Die meisten Dateisysteme in FreeBSD wurden nicht entwickelt, um sich vor böswilligen Geräten zu schützen.

Um auch normalen Anwendern das Einhängen des Laufwerks zu gestatten, könnten Sie beispielsweise mit pw(8) alle potentiellen Benutzer dieser Gerätedateien in die Gruppe operator aufnehmen. Außerdem muss sichergestellt werden, dass Mitglieder der Gruppe operator Schreib- und Lesezugriff auf diese Gerätedateien haben. Hierfür werden die folgenden Zeilen in /etc/devfs.rules hinzugefügt:

[localrules=5]
add path 'da*' mode 0660 group operator

Anmerkung:

Verfügt das System über SCSI-Laufwerke, so verändern Sie die zweite Zeile wie folgt:

add path 'da[3-9]*' mode 0660 group operator

Dies wird die ersten drei SCSI-Laufwerke (da0 bis da2) davon ausschließen, in die Gruppe operator aufgenommen zu werden.

Aktivieren Sie nun die devfs.rules(5)-Regeln in /etc/rc.conf:

devfs_system_ruleset="localrules"

Als nächstes müssen Sie Ihren Kernel anweisen, auch normalen Benutzern das mounten von Dateisystemen zu erlauben. Am einfachsten geht dies, indem die folgende Zeile in /etc/sysctl.conf hinzugefügt wird:

vfs.usermount=1

Da diese Einstellung erst nach einem Neustart wirksam wird, können Sie diese Variable mit sysctl(8) auch direkt setzen.

Zuletzt müssen Sie noch ein Verzeichnis anlegen, in das das USB-Laufwerk eingehängt werden soll. Dieses Verzeichnis muss dem Benutzer gehören, der das USB-Laufwerk in den Verzeichnisbaum einhängen will. Dazu legen Sie als root ein Unterverzeichnis /mnt/username an, wobei Sie username durch den Login des jeweiligen Benutzers sowie usergroup durch die primäre Gruppe des Benutzers ersetzen:

# mkdir /mnt/username
 # chown username:usergroup /mnt/username

Wenn Sie nun beispielsweise einen USB-Stick anschließen, wird automatisch die Gerätedatei /dev/da0s1 erzeugt. Ist das Gerät mit einem FAT-Dateisystem formatiert, können Sie es mit dem folgenden Befehl in den Verzeichnisbaum einhängen:

% mount -t msdosfs -o -m=644,-M=755 /dev/da0s1 /mnt/username

Bevor das Gerät entfernt werden kann, muss es abgehängt werden. Nach Entfernen des Geräts zeigen sich in den Systemmeldungen Einträge, ähnlich der folgenden:

umass0: at uhub0 port 1 (addr 2) disconnected
(da0:umass-sim0:0:0:0): lost device
(da0:umass-sim0:0:0:0): removing device entry
GEOM: destroy disk da0 dp=0xc2d74850
umass0: detached

19.4.3. Weiteres zu USB

Neben den Abschnitten Hinzufügen von Laufwerken und Anhängen und Abhängen von Dateisystemen lesen Sie bitte die Hilfeseiten umass(4), camcontrol(8) für FreeBSD 8.X oder usbdevs(8) bei vorherigen Versionen.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.