USB User mount

crane

Member
Hallo an alle!

Ich bin noch relativ neu bei FreeBSD und habe gleich ein Problem, welches ich partout nicht gelöst bekomme.

Ich bin zur Einrichtung nach folgender Anleitung vorgegangen:
http://www.freebsd.org/doc/de/books/handbook/usb-disks.html

Der Stick lässt sich nun zwar vom User mounten und unmounten, aber wenn ich versuche, mit cd /mnt/usb-stick drauf zuzugreifen, sobald der USB-Stick gemounted ist, kommt die Meldung, cannot cd to /mnt/usb-stick.

Das Verzeichnis gehört dem User. Die Rechte sind auf 777 gesetzt.
Mir ist aufgefallen, dass sich die Rechte nach mounten des Sticks auf rx-rx-rx ändern und das Verzeichnis auf einmal root gehört.
Sobald der Stick ungemounted wird, ändern sich die Rechte wieder auf die Vorgaben (Besitzer: user, Rechte 777).
Auch wenn ich versuche, die Rechte mit root auf 777 und Besitzer "user" zu ändern, wenn dir Stick gemountet und der User angemeldet ist, bleiben die Rechte auf rx-rx-rx und Besitzer root.

Ist der Stick nicht in das Verzeichnis gemounted, kann ich mit dem User drauf zu greifen und habe volle Lese- und Schreibrechte (Unterverzeichnis erstellen, Dateien erstellen, Kopieren, löschen etc).

Das Problem ist nicht abhängig vom verwendeten Stick oder FS.

Hat jemand eine Idee, wo das Problem liegen kann?

Grüße
 
Ist der Stick nicht in das Verzeichnis gemounted, kann ich mit dem User drauf zu greifen und habe volle Lese- und Schreibrechte (Unterverzeichnis erstellen, Dateien erstellen, Kopieren, löschen etc).

Verstehe ich das richtig, dass alles wie erwartet funktioniert, wenn du einen anderen (beliebigen) Mountpoint benutzt?
Dieses Verhalten tritt nur und immer auf, wenn du /mnt/usb-stick benutzen willst?

Grundsätzlich ist es besser (vielleicht stehe ich mit dieser Meinung auch alleine) in Namen für Verzeichnisse (also auch mountpoints) oder generell in Dateinamen keine Zeichen zu verwenden, die von der Shell interpretiert werden können. Ich meine in deinem Beispiel das Minus ( - ). Ein kleiner Tippfehler bei Eingabe des Names kann schon vollkommen unerwartete Folgen haben. In Namen macht sich daher der Unterstrich besser und ich habe mir den seit langem angewöhnt ( _ ).
Das ist sehr wahrscheinlich unbedeutend für dein Problem, nur eine persönliche Anmerkung.
 
Verstehe ich das richtig, dass alles wie erwartet funktioniert, wenn du einen anderen (beliebigen) Mountpoint benutzt?
Dieses Verhalten tritt nur und immer auf, wenn du /mnt/usb-stick benutzen willst?

Grundsätzlich ist es besser (vielleicht stehe ich mit dieser Meinung auch alleine) in Namen für Verzeichnisse (also auch mountpoints) oder generell in Dateinamen keine Zeichen zu verwenden, die von der Shell interpretiert werden können. Ich meine in deinem Beispiel das Minus ( - ). Ein kleiner Tippfehler bei Eingabe des Names kann schon vollkommen unerwartete Folgen haben. In Namen macht sich daher der Unterstrich besser und ich habe mir den seit langem angewöhnt ( _ ).
Das ist sehr wahrscheinlich unbedeutend für dein Problem, nur eine persönliche Anmerkung.

Nein, da hast du mich leider falsch verstanden :). Auch mit anderen Mountpoints besteht das gleiche Problem.
Ich habe jedoch mittlerweile rausgefunden, dass das Problem nicht besteht, wenn ich einen Eintrag in der /etc/fstab vornehme. Der fstab-Eintrag sieht so aus:
/dev/da0s1 /mnt/usb-stick rw 0 0
Ohne fstab-Einstrag mounte ich den Stick mit dem Befehl mount -t msdosfs -o -m=664 /dev/da0s1 /mnt/usb-stick (/mnt/usbstick).

An den Eintrag von mount komme ich leider grad nicht dran. Werde ich aber im Laufe des Tages nachreichen :)

Grüße
 
Ohne Executable Flag kommst du nicht in die Verzeichnisse. Da muss ein -M775 dazu.
 
und vermutlich -o rw

alleine, ohne jegliche Option sollte es aber auch schon mit mount -t msdosfs /dev/xyz /mountouint möglich sein, das Gerät einzubinden und mittels mount dies bestätigt zu bekommen. Wenn nicht, sollte dmesg Fehler zeigen.
Ich hätte nicht erwartet, dass dein Eintrag in der fstab Erfolg bei einem msdosfs haben könnte. Das erstaunt mich, dass dies so ohne weiteres gehen soll und im Ergebnis stimmt.
 
Ich kann dir auch mein kleines Programm sysutils/automounter ans Herz legen. Es funktioniert meiner Meinung nach wirklich gut.
 
@ Kamikaze

Mit dem Executeable Flag hat es letztendlich funktioniert. Danke dafür. Deine automounter werde ich mir auf jeden Fall mal ansehen.

@ pit234a
Ich habe es gerade mal nur mit mount -t msdosfs /dev/da0s1 /mnt/usbstick versucht und es funktioniert genau so gut.

Was ist denn nun aber genau der Unterschied zwischen mount -t msdosfs -o -m=664,-M=755 /dev/da0s1 /mnt/usbstick und mount -t msdosfs /dev/da0s1 /mnt/usbstick?
Wer setzt denn beim zweiten Command die Executeable flags etc?

Grüße
 
Da werden die Flags vom Mountpunkt übernommen. Damit haben dann natürlich auch alle Dateien das Executable Flag, weswegen die erste Methode ja in der Regel empfohlen wird.

Die Flags und -m=664,-M=755, bedeuten dann aber, dass Gruppenmitglieder Schreibrechte auf Dateien, aber nicht auf Ordner haben. In der Regel will man eher -m=664,-M=775 oder -m=644,-M=755.

Ich persönlich verwende -m660,-M770, wobei die Mountpunkte root:operator gehören (automounter legt die Mountpunkte mit den gleichen Rechten wie die Device Nodes an, man kann das also wie gewohnt über die devfs.rules konfigurieren). Auf msdosfs Dateisysteme haben bei mir also nur Mitglieder der Gruppe operator zugriff.
 
Zuletzt bearbeitet:
Zurück
Oben