[gelöst] USB-Speicher unter Linux mounten: Keine 'richtigen' Schreibrechte

udosw

Aktives Mitglied
Mitglied seit
20 Mrz 2004
Beiträge
1,114
Punkte für Reaktionen
0
Punkte
36
Ich versuche den USB-Stick an meiner 7270 unter Linux (Debian Lenny) zu mounten. (Als "USB-Netzwerkspeicher" unter Windows funktioniert Lesen und Schreiben problemlos.)

Ich arbeite als root (jetzt mal bitte keine Diskussion über Sicherheit).

In meiner /etc/fstab steht:
Code:
//192.168.178.1/SanDisk-Cruzer-01 /fbf smbfs username=ftpuser,password=XXXXX,noperm,auto,user=none,uid=0,gid=0
dann mount /fbf und cd /fbf und ich bin auf dem Dateisystem des USB-Stick

Ich kann Datein anlegen und auch Daten hineinschreiben, wenn ich das z.B. mit cat mache. Auch löschen mit rm funktioniert.

Code:
cat > test
bla
blub
test
^D
Wenn ich aber mit einem Editor versuche, die Datei test zu bearbeiten, bekomme ich beim Speichern merkwürdige Fehlermeldungen:
"Fehler beim Schreiben von test: Datei oder Verzeichnis nicht gefunden"

Das Verzeichnis sieht so aus:
Code:
# ls -la
insgesamt 52
drwxrwxrwx  5 root root    0 13. Nov 00:16 .
drwxr-xr-x 32 root root 4096 12. Nov 23:54 ..
-rwxrwxrwx  1 root root    9 13. Nov 00:14 test
Auffällig ist, dass weder Änderungen von Eigentümern oder Rechten funktionieren.

Code:
# chown root.root test
chown: Ändern des Eigentümers von „test“: Das Argument ist ungültig

# chmod 664 test
chmod: Beim Setzen der Zugriffsrechte für „test“: Keine Berechtigung
Es ist irgendwie so, als ob die Dateien gar nicht root gehören, obwohl das so angezeigt wird.

Hoffe jemand hat 'nen Tip für mich ...
 
Du hast Dich nicht dazu geäußert, welches Dateisystem auf dem USB-Stick verwendet wird.

Auf jeden Fall unterstützt smbfs normalerweise keine richtigen Benutzerrechte, da es ein Windows-Protokoll ist. Es gibt eine UNIX-Erweiterung dafür, aber vermutlich ist die im Samba auf der Box nicht aktiv, und vielleicht braucht die auch CIFS statt SMBFS.

Du solltest mal nachsehen, welche Rechte und Eigentümer die Datei und das Verzeichnis auf der Box haben.

Was genau der Editor (welcher?) beim Speichern tut, kannst Du mit strace herausfinden.
 
Du hast Dich nicht dazu geäußert, welches Dateisystem auf dem USB-Stick verwendet wird.
Tja, gute Frage. Ich weiß nicht mehr genau, womit ich den Stick seinerzeit formatiert habe, entweder NTFS oder vermutlich eher ext3, jedenfalls kann er lange Dateinamen. Auf der Box sieht das so aus:
Code:
# pwd
/var/media/ftp/SanDisk-Cruzer-01
# ls -la
drwxrwxrwx    6 root     root         4096 Jan  1  1970 .
-rwxrwxrwx    1 root     root    646872844 Aug 22  2008 SCI_FI_Raumschiff_Enterprise_-_Das_n_chste_Jahrhundert_2008-08-21_215530.001
Mit CIFS habe ich auch schon gemountet, das bringt keine Änderung. Auf der Box gehört alles root, wie üblich. (Es ist ja im Moment kein freetz drauf, obwohl es unter Freetz auch nicht anders war.) Das mit strace bringt IMHO nichts, es tritt ja auch dieses merkwürdige Verhalten auf, wenn man versucht, mit chmod oder chown was an den Dateien zu machen.
Ich denke, bei den Benutzerrechten liegt das Problem, irgendwie muss man dem Linux doch sagen können, welcher Benutzer die Dateien haben soll.
 
Das Verhalten von chmod und chown ist auf einem SMB-Dateisystem nicht merkwürdig, sondern normal, ebenso wie auf FAT oder NTFS Dateisystemen. Alle drei kommen aus der Windows Welt und sind nicht dafür ausgelegt, UNIX-Benutzer und -Zugriffsrechte zu speichern. Eine Operation wie chmod oder chown kann daher nicht erfolgreich sein, weil es keinen Ort gibt, diese Informationen dauerhaft zu speichern.

Der USB-Speicher sieht nicht nach ext2 aus, eher nach FAT oder NTFS. Und wenn Du Über SMB auf ein Windows-Dateisystem zugreifst, hast Du gleich doppelt das Problem, daß es keinen Ort gibt, um diese Rechte zu speichern, weder auf dem Dateisystem noch über SMB.

Aufgrund Deiner Zeile aus fstab greift Samba mit den Rechten von ftpuser auf die Dateien zu. Diese Rechte reichen zum Anlegen und Löschen von Dateien. Auch Umbenennen sollte funktionieren, Du könntest das auf der Kommandozeile nachprüfen.

Es könnte durchaus sein, daß ein anderer Editor dieses Problem nicht hat, weil er beim Speichern der Datei anders vorgeht. Und was Dein Editor genau tut, findest Du am einfachsten mit strace heraus. Dafür mußt Du noch nicht einmal eine neue Firmware installieren, es reicht, da Programm so auszuführen.
 
@RalfFriedel: Danke! Mit der Windoof-Welt hast Du natürlich vollkommen recht. Weißt du jetzt zufällig gerade, ob die Box ext2 unterstützt, wenn man kein Freetz drauf hat? Dann würde ich den Stick einfach mal ext2 formatieren. Er ist jetzt nämlich FAT (vfat), ich war erst nicht drauf gekommen, wie ich das sehen kann auf der Box:
Code:
# mount
/dev/sda1 on /var/media/ftp/SanDisk-Cruzer-01 type vfat (rw,fmask=0000,dmask=0000,codepage=cp437,iocharset=iso8859-1,shortname=winnt)
Gruß
Udo
 
Ich glaube gelesen zu haben, daß ohne Freetz die Box nur FAT auf dem USB unsterstützt.
 
Ältere Firmware Versionen enthielten das Modul für ext2, die neueren nicht mehr, vermutlich aus Platzgründen.
Man kann trotzdem ein Modul erstellen, zum Beispiel mit Freetz, und dieses in den Kernel der original Firmware laden.
Es wird aber nicht notwendigerweise helfen, weil der Zugriff darauf immer noch über SMB erfolgt.

Ich würde zuerst mit strace nachsehen, wo überhaupt das Problem ist. Das strace brauchst Du auf dem Debian System, und da ist es vermutlich sowieso schon drauf, so daß Du es direkt ausprobieren kannst:
Code:
strace -s2000 -f -o /tmp/strace.out editor datei
Dabei sollten "editor" und "datei" ersetzt werden durch das Editor-Programm und die zu editierende Datei. Die Ausgabe ist dann in /tmp/strace.out.
 
gelöst

Ich habe das Problem jetzt gelöst bekommen, indem ich

1. den USB-Stick mit ext3 formatiert habe (bin aber nicht sicher ob das unbedingt nötig war)

2. auf der FritzBox die Dateien dem User ftpuser und der Gruppe users geschenkt (das ist nachvollziehbar entscheident):
Code:
/var/media/ftp/uStor01/addons # chown ftpuser:users asterisk16 -R
Jetzt habe ich (als root) auf dem Linux-System volle Zugriffsrechte und kann mit den Dateien arbeiten.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.