Schreibrechte auf USB-Festplatte mit FAT

C

chrislee

Grünschnabel
Hallo zusammen,

als Linux-Neuling (naja, Wiedereinsteiger :-) habe ich WinXP und Suse Linux 10.0 parallel installiert und tausche Daten über eine externe USB-Festplatte mit FAT aus. Um mit dem normalen User (root ging auf Anhieb) Schreibrechte auf die Platte zu haben, habe ich die Schreibrechte entsprechend eingestellt.

Nun folgende Fragen:
1) Warum kann ich mir die Plattenbelegung nicht anzeigen lassen, wie bei den anderen reiserfs-formatierten Partitionen?

2) Warum dauert das Verschieben einer Datei innerhalb der USB-HD in einen anderen Ordner so lange - oder besser: warum wird die Datei echt kopiert und gelöscht anstatt umgehängt, wie es WinXP macht.

3) Manchmal habe ich keine Schreibrechte auf die bestehenden Ordner der USB-HD; auf dem "Wurzelverzeichnis" der USB-HD klappt es aber immer gleich; ich kann dann auch keine neuen Ordner oder Dateien direkt auf der USB-HD anlegen, sehr wohl aber einen im persönlcihen Ordner erzeugten darauf verschieben und dann in DIESEN Ordner auch sofort schreiben.

Schöne Grüße
Christian Lisiecki / chrislee
 
hallo chrislee

ich habe das selbe problem. unter suse 9.3 ist noch alles problemlos gegangen, seit ich aber auf 10.1 umgestellt habe, habe ich keine schreibrechte auf der usb hd mehr. da ich zuerst probleme mit dem mounten hatte könnte es sein, dass damit etwas nicht in ordnung ist. muss man in der fstab oder sonst wo bestimmte optionen eingeben, damit nicht alle dateirechte automatisch auf root gelegt werden und nur dieser alle rechte hat, die anderen benutzer die dateien aber nur (aber immerhin) lesen können?

cheers
tinelli
 
Mahlzeit,

das Problem dass Ihr beschreibt ist auf zweierlei Gründe zurück zu führen:

Punkt1.:

Im 'File Allocation Table'-Dateisystem ist eine gruppen/nutzerorientierte Zugriffsrechtebehandlung nicht vorgesehen.
Das hat zur Folge dass auf einem gemountetes FAT-System grundsätzlich erstmal nur dem Nutzer mit den höchsten Privilegienstatus das volle Schreib/Leserecht zugewiesen wird. Außerdem kann Dein Linux/Unix dann nicht mehr den originalen Besitzer einer Datei/Verzeichnisse extrapol. wodurch das Schreiben in entsprechenden Dateien/Verzeichnissen verhindert wird, wenn Du diese Aktion nicht mit dem Rootaccount ausführst, der sich über solche Beschränkungen hinwegsetzen kann.

Wenn nun ein neues Verzeichnis erstellt wird, verwendet mount eine creation-UMASK zur Erstellung von Zugriffsrechten entsprechend der Gruppenzugeh. des gerade angemeldeten Benutzers, diese wird im Fall von FAT(oder hier ja 'vfat')
'0700' -- sein, d.h. ja dass nur Benutzer: root und kein anderer User oder sogar ein weiteres Mitglied seiner Gruppe, vollen Schreib/Lesezugriff in allen Verzeichnissen hat.

Der Versuch dies mit dem Neusetzen der Rechte des gemounteten Dateisystem bleibt hier folgenlos, da das FS wie gesagt nichts über Rechtevergabe/entzug von Dateizugriffsrechten weiss, und entspr. Änderungen durch Aufrufe a la:

Code:
$sudo chown -vR userXY:user /mnt/MyVFAT && sudo chmod -vR 0755 /mnt/MyVFAT

fruchten also überhaupt nichts. Abhilfe bringt es eventuell dem Eintrag in '/etcfstab' eine benutzerdef. UMASK hinzuzufügen, um so das Laufwerk für nicht-Privilegierte User ebenfalls voll zugänglich zu machen. Mehr dazu via man-pages: mount.


Punkt2.:

Chrislee schrieb:
Warum dauert das Verschieben einer Datei innerhalb der USB-HD in einen anderen Ordner so lange - oder besser: warum wird die Datei echt kopiert und gelöscht anstatt umgehängt, wie es WinXP macht.
Das ist sehr einfach erklärt. Unter UNiX/Linux-nativen Dateisystemen (Bsp. ext2) ist der Ablageort eines Dateiinhalts über spezielle Deskriptoren def. die sog.: inodes. Vielen Experten wird der Puls bei der nächsten Aussage sicherlich in die Höhe schnellen, aber man könnte in Bezug auf FAT einen inode als Private Allocation Table für einen Dateiinhalt auf Deinem System betrachten. Ein inode sagt dem Kernel soz. wo er nach Anfang (ersten 12 Blöcke) und nat. Inhalt einer Datei suchen auf dem phys. Datenträger (Festplate, Bspw...) suchen muss.
Bei FAT gibt es ja die Allocation Table, welche die selbe Funktion für alle auf dem Dateisystem befindliche Laufwerke ausführt. D.h.,
das Root-verzeichnis eines FAT-FS ist das Einzigste dessen Ablageort nicht festgelegt ist. ALSO:

Wenn eine Datei von einem in den anderen Order verschoben wird können hier schlichtweg nicht nur die inodes neu gesetzt werden um die Ablageorte "umzuhängen", deshalb werden sie komplett kopiert.

Alles im Übrigen nachzulesen hier: Microsoft White Paper: FAT-Specs
und hier ebenso:UNiX/LiNUX-Dateisysteme

...und nat. den man-pages.

MfG
 
Zuletzt bearbeitet:
Hallo!

Vielen Dank für deine Hilfe!!!
Jetzt konnte ich meine HD richtig einbinden!!!

Cheers
Tinelli
 
Abhilfe bringt es eventuell dem Eintrag in '/etcfstab' eine benutzerdef. UMASK hinzuzufügen, um so das Laufwerk für nicht-Privilegierte User ebenfalls voll zugänglich zu machen.

in welcher datei werden mit der option umask die rechte gesetzt? in der fstab für die partitionen der PC-festplatte, doch wo für eine/die USB-festplatte?

danke, w.
 
Zurück
Oben