Das FreeBSD-Handbuch
Zurück | Kapitel 19. Speichermedien | Weiter

# 19.5. 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.5.1. USB-Konfiguration

USB-Massenspeicher werden vom Treiber umass(4) betrieben. Wenn Sie den `GENERIC`-Kernel benutzen, brauchen Sie keine Anpassungen vorzunehmen. Benutzen Sie 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

Der Treiber umass(4) greift über das SCSI-Subsystem auf die USB-Geräte zu. Ihre USB-Geräte werden daher vom System als SCSI-Geräte erkannt. Abhängig vom Chipsatz Ihrer Systemplatine benötigen Sie in der Kernelkonfiguration entweder die Option `device uhci` oder die Option `device ohci` für die Unterstützung von USB 1.1. Die Kernelkonfiguration kann allerdings auch beide Optionen enthalten. Unterstützung für USB 2.0 Controller wird durch den ehci(4)-Treiber geleistet (die `device ehci` Zeile). Vergessen Sie bitte nicht, einen neuen Kernel zu bauen und zu installieren, wenn Sie die Kernelkonfiguration verändert haben.

> Anmerkung: Wenn es sich bei Ihrem USB-Gerät um einen CD-R- oder DVD-Brenner handelt, müssen Sie den Treiber cd(4) für SCSI-CD-ROMs in die Kernelkonfiguration aufnehmen:

>     device cd

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

## 19.5.2. Die USB-Konfiguration testen

Sie können das USB-Gerät nun testen. Schließen Sie das Gerät an und untersuchen Sie die Systemmeldungen (dmesg(8)), Sie sehen Ausgaben wie die folgende:

    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)

Die Ausgaben, wie das erkannte Gerät oder der Gerätename (`da0`) hängen natürlich von Ihrer Konfiguration ab.

Da ein USB-Gerät als SCSI-Gerät erkannt wird, können Sie USB-Massenspeicher mit dem Befehl `camcontrol` anzeigen:

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

Wenn auf dem Laufwerk ein Dateisystem eingerichtet ist, sollten Sie das Dateisystem einhängen können. Abschnitt 19.3 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.

Damit auch normale Anwender (ohne `root`-Rechte) USB-Laufwerke einhängen können, müssen Sie Ihr System erst entsprechend konfigurieren. Als erstes müssen Sie sicherstellen, dass diese Anwender auf die beim Einhängen eines USB-Laufwerks dynamisch erzeugten Gerätedateien zugreifen dürfen. Dazu können 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. Dazu fügen Sie die folgenden Zeilen in die Konfigurationsdatei `/etc/devfs.rules` ein:

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

> Anmerkung: Verfügt Ihr System auch über SCSI-Laufwerke, gibt es eine Besonderheit. Haben Sie beispielsweise die SCSI-Laufwerke `da0` bis `da2` installiert, so sieht die zweite Zeile wie folgt aus:

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

> Dadurch werden die bereits vorhandenen SCSI-Laufwerke nicht in die Gruppe `operator` aufgenommen.

Vergessen Sie nicht, die devfs.rules(5)-Regeln in der Datei `/etc/rc.conf` zu aktivieren:

    devfs_system_ruleset="localrules"

Als nächstes müssen Sie Ihre Kernelkonfiguration anpassen, damit auch normale Benutzer Dateisysteme mounten dürfen. Dazu fügen Sie am besten folgende Zeile in die Konfigurationsdatei `/etc/sysctl.conf` ein:

    vfs.usermount=1

Damit diese Einstellung wirksam wird, müssen Sie Ihr System neu starten. Alternativ können Sie diese Variable auch mit sysctl(8) 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. Da derartige Geräte in der Regel mit dem FAT-Dateisystem formatiert sind, können Sie sie beispielsweise mit dem folgenden Befehl in den Verzeichnisbaum einhängen:

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

Wenn Sie das Gerät entfernen (das Dateisystem müssen Sie vorher abhängen), sehen Sie in den Systemmeldungen Einträge wie die 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.5.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.

Zurück | Zum Anfang | Weiter
RAID | Nach oben | CDs benutzen

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