[SuSE] USB-Device einbinden

pino

nicht mehr wegzudenken
USB-Device einbinden

Hallo Ihr,
ich brauche bitte einen Profitipp... komme mit dem Linux nicht mehr weiter. (n)

Ich habe unter WinXP ein RAID1-System mit zwei Platten und ein Compact-Flash (USB-Device) über USB angeschlossen. Unter WinXP alles kein Problem!

So, nun habe ich auf einer weiteren HDD Linux 9.0 installiert, was auch noch reibungslos funktionierte. Allerdings wird beim Booten von Linux (nach Umschalten mittels Taste F2) folgender Fehler als failed gemeldet:

mount: /dev/sdc1 is not a valid block device

Weiterhin wurden bei der Installation drei Mountpoints (für die beiden RAID-Platten und das USB-Device) angelegt.

So, nun habe ich das Problem, dass wenn ich z.B. das Icon (Compact-Flash) auf dem Desktop anklicke, es zu folgender Meldung kommt:

Verzeichnis konnte nicht geöffnet werden: /media/sdc1

Was ich auch nicht ganz verstehe, warum wird das USB-Device unter media auch nochmals als sdc1 als Verzeichnis angelegt? Es hat doch schon den Mountpoint unter windows bekommen?

Also langer Rede kurzer Sinn, habt ihr einen Tipp für mich, was das Problem sein könnte?

Schon mal vielen Dank

pino
 
Wie sieht denn Deine fstab aus?
Und hast Du den USB-Stick angesteckt, wenn Du bootest oder auf das Icon klickst?
 
Hi t_matze!

Nein, es ist kein USB-Stick, sondern ein Compact-Flash, das über einen USB-Reader fest angeschlossen ist. Also schon beim Bootvorgang!

Die fstab sieht folgendermaßen aus:

/dev/hda2 / reiserfs defaults 1 1
/dev/sda1 /windows/C ntfs ro,users,gid=users,umask=0002,nls=iso8859-1 0 0
/dev/sdb1 /windows/D ntfs ro,users,gid=users,umask=0002,nls=iso8859-1 0 0
/dev/sdc1 /windows/E ntfs ro,users,gid=users,umask=0002,nls=iso8859-1 0 0
/dev/hda1 swap swap pri=42 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
proc /proc proc defaults 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/cdrecorder /media/cdrecorder auto ro,noauto,user,exec 0 0
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/dvd /media/dvd auto ro,noauto,user,exec 0 0
/dev/dvdram /media/dvdram auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto noauto,user,sync 0 0
/dev/sdd1 /media/sdd1 auto sync,noauto,user,exec 0 0 #HOTPLUG B3Fu.dEWpgwu0vt8
/dev/sdc1 /media/sdc1 auto sync,noauto,user,exec 0 0 #HOTPLUG B3Fu.65vJnGtOb_E

Was ich noch bemerkt habe ist, dass wenn ich mich als root einlogge, ich Zugriff auf das Compact-Flash habe.

Warum kommt es aber bereits beim Linux-Boot zu der beschriebenen Fehlermeldung? Zwar kann ich dann nach dem Booten das Laufwerk einbinden, allerdings nicht drauf zugreifen.

Grüße

pino
 
Noch mal genau nachgefragt:
Du hast 1.) einen Raid
und 2.) einen Compact-Flash Leser?

Die sollten beide als SCSI-Gerät angesprochen werden.

Da ja zwei Einträge für /dev/sdc1 vorhanden sind, würde ich testweise einen mal auskommentieren (# als erstes Zeichen).

Und dann mal etwas mit den Einträgen experimentieren:
user durch users ersetzen ermöglicht, daß auch andere Benutzer den Datenträger wieder umounten können (mal für die zweite Zeile mit sdc1):

/dev/sdc1 /media/sdc1 auto sync,noauto,users,exec,umask=0002 0 0
 
Vielen Dank Bio-logisch für deine Tipps... ich glaube die haben geholfen! (y)

Ja, ich habe unter WinXP ein RAID1-System mit zwei Festplatten (2x SATA) sowie ein Compact-Flash Leser (an USB angeschlossen) am Laufen.

Was mir noch nicht ganz klar ist... vermutlich dumme Fragen:

1) Warum wird überhaupt ein USB-Device unter Linux als sd... erkannt - ist das nicht SCSI-Geräten vorbehalten?

2) Was sagt der Eintrag umask=0002 in der fstab aus?

3) Was müsste ich in der fstab einfügen, damit ich als normaler Benutzer unter Linux z.B. auf das Compact Flash schreiben darf?

Schon mal vielen Dank im voraus...

pino
 
Dumme Fragen gibt es nicht ;)

1.) Aus historischen Gründen. Bei Linux wird nicht immer das Rad neu erfunden, daher hat man die USB-Massenspeicher auf SCSI-Speicher umgebogen. Hat den Vorteil, daß die Anzahl der Devices nicht noch mehr ausufert...

2.) Das legt fest, mit welchen Berechtigungen der Datenträger gemountet werden soll.
In diesem Fall dürfen Benutzer und Gruppenangehörige alles, (zweite und dritte 0) und der Rest nur lesen (die 2).

3.) dafür muß der Parameter "guid=users" eingefügt werden (wie bei den Windows-Partitionen).

Hoffe, es hilft!
 
Leider hat es noch nicht ganz geholfen - was aber sicher an mir lag!

Ich habe guid=users eingefügt - allerdings ohne Änderung auf das Ergebnis.

Wie gesagt ich möchte gerne, dass der Benutzer (also ich) sowie die Gruppe auch Schreibrechte haben.

Wie kann ich das bewerkstelligen?

Laut deiner Aussage dürften ja jetzt schon Benutzer und Gruppenangehörige z.B. Schreiben, da ja in umask=0002 der zweite und dritte Eintrag eine Null ist.

Aber dem ist nicht so - auch auf die beiden Festplatten (Mountpoint Windows) kann nicht schreibend zugegriffen werden, obwohl ja ebenfalls dieser Eintrag umask=0002 aufgeführt ist.

Hm, verstehe es nicht so ganz.

Kannst du bitte nochmals helfen?

Danke
 
Fettschrift kannste bitte bleiben lassen, daß kommt überhaupt nicht nett rüber ;)

An sich müßte es so funktionieren. Kopier mal die ganze Zeile in das Forum, vielleicht einfach ein Leerzeichen zuviel oder so.

Was auch noch helfen kann:
umask=0
Damit haben alle Benutzer alle Rechte, egal in welcher Gruppe sie sind (oder ausführlich umask=0000)

Was die Windows-Partitionen anbelangt:
Auf NTFS kann Linux nicht schreiben.
 
Sorry Bio-logisch... ab jetzt keine Fettschrift mehr! :)

So, du hattest Recht - habe ein Leerzeichen zuviel gehabt. Soweit funktioniert jetzt alles!

Vielleicht darf ich nochmals bei den Rechten etwas nachhaken - habe dazu leider im Buch nichts gefunden? Hoffe mal, nicht allzusehr zu nerven.

1)Wenn ich alles richtig verstanden habe, dann bezieht sich bei dem Eintrag umask=0002 die zweite Null auf den owner (user), die dritte Null auf die Gruppe und die vierte Stelle (hier 2) auf other. Stimmt das soweit?

2)Wofür ist dann die erste Null - auf was bezieht sich diese und gibt es nur die Möglichkeiten 0 und 2 einzusetzen?

3)Wenn ich z.B. auf sdc1 (unter media) mit der rechten Maustaste klicke und dann auf Eigenschaften und Berechtigungen gehe, so müsste ich doch genau auch diese Rechte geben, bwz. entziehen können. Doch genau das geht nicht - nach dem Klick auf Ok und der anschließenden Kontrolle ist wieder alles beim alten. Warum werden die Einstellungen hier nicht gespeichert?

4)Ich kann doch solche Berechtigungen z.B. auch mittels r(read), w(write) und x(execute) durchführen. Geht das nur an Dateien oder ist sowas, wie in meinem Fall, auch für ein ganzes Laufwerk möglich?

Vielen Dank für deine Bemühungen nochmals

pino
 
Deine Windows-Festplatten sind ja NTFS-formatiert. Linux hat nur sehr eingeschränkte Möglichkeiten, auf NTFS-formatierten Platten/Partitionen zu schreiben, weil der zugrundeliegende Code von MS nicht offengelegt wird. Daher hat man unter Linux standardmäßig nur Leserechte auf NTFS. Man kann explizit Schreibrechte einfordern (Rechtsklick auf das Icon, dort müßte eine Option sein), das wird aber eher nicht empfohlen.

Ob Dein CompactFlash dann automatisch unter der gleichen Restriktion leidet, weiß ich nicht. Mit welchem Dateisystem ist der formatiert? Oben in der fstab steht ntfs, stimmt das? Dann trifft ihn diese Einschränkung wohl auch.

Ich habe mir für den Datenaustausch zwischen Linux und Windows eine FAT32-formatierte Partition erstellt. Das ist etwas umständlich, aber dafür passiert den Daten dort nichts Unerwartetes.
 
pino schrieb:
Sorry Bio-logisch... ab jetzt keine Fettschrift mehr! :)

So, du hattest Recht - habe ein Leerzeichen zuviel gehabt. Soweit funktioniert jetzt alles!

Vielleicht darf ich nochmals bei den Rechten etwas nachhaken - habe dazu leider im Buch nichts gefunden? Hoffe mal, nicht allzusehr zu nerven.

1)Wenn ich alles richtig verstanden habe, dann bezieht sich bei dem Eintrag umask=0002 die zweite Null auf den owner (user), die dritte Null auf die Gruppe und die vierte Stelle (hier 2) auf other. Stimmt das soweit?

Das ist ziemlich kompliziert:
Lies Dir mal die Manpage von chmod durch (man chmod).
Dort gibt es die Möglichkeit, Dateirechte mit einem Zahlencode zu vergeben. Dafür werden bestimmte Werte addiert:

1 für Datei ausführbar
2 für Datei veränderbar
4 für Datei lesbar.

Das wird für den Besitzer, die Gruppe und den Rest festgelegt. Zusätzlich kann man auch noch eine vierte Stelle angeben (ganz an den Anfang), das sind Spezialoptionen, die man nur sehr selten braucht.

chmod 775 Datei

Erlaubt dem Besitzer und Gruppenangehörigen die Datei zu lesen, zu verändern und auszuführen. Der Rest darf nur lesen und ausführen, also nichts verändern.

Bei umask wird der Wert im Prinzip genauso berechnet, nur wird dort dieser Wert (also z.B. 5) von 7 abgezogen.
Die Nullen bedeuten also alles erlaubt, die 2 kommt von 7 - 5 = 2 mit
5 = 1 (ausführen) + 4 (lesen)

Also entspricht umask=002 chmod 775. Damit ist in beiden Fällen dem Besitzer und seiner Gruppe alles erlaubt und der Rest der Welt darf die Dateien nur lesen bzw. ausführen (wenn es sich um ein Programm oder Script handelt).

Und frag mich bitte nicht, wer sich das ausgedacht hat. Das ganz ist irgendwie echt wirr :crazy

2)Wofür ist dann die erste Null - auf was bezieht sich diese und gibt es nur die Möglichkeiten 0 und 2 einzusetzen?

Die erste Null kann man im Prinzip weglassen, ich weiß nicht, warum Suse sie hinsetzt. Schadet aber auch nicht...
Bei chmod (also das normale System) bedeutet die 4 an der ersten Stelle, daß ein Programm immer mit der Identität und den Rechten des Besitzers läuft, egal wer es startet. Das braucht man z. B. für das Brennerprogramm cdrecord.
2 macht das Gleiche mit den Gruppenrechten, 1 hat bei Linux keine Funktion.

Bei umask bedeutet die Null an erster Stelle dementsprechend, daß ein Programm auf dem USB-Datenträger mit der Benutzer- und Gruppenkennung desjenigen läuft, der den Datenträger gemountet hat.

3)Wenn ich z.B. auf sdc1 (unter media) mit der rechten Maustaste klicke und dann auf Eigenschaften und Berechtigungen gehe, so müsste ich doch genau auch diese Rechte geben, bwz. entziehen können. Doch genau das geht nicht - nach dem Klick auf Ok und der anschließenden Kontrolle ist wieder alles beim alten. Warum werden die Einstellungen hier nicht gespeichert?

Du kannst nur die Zugriffsrechte von Dateien ändern, die Dir auch gehören. Wenn diese Werte in der fstab festgelegt sind, dann ignoriert Linux diese Änderungsversuche.

4)Ich kann doch solche Berechtigungen z.B. auch mittels r(read), w(write) und x(execute) durchführen. Geht das nur an Dateien oder ist sowas, wie in meinem Fall, auch für ein ganzes Laufwerk möglich?

Unter Linux ist alles eine Datei.
Du kannst auch die Zugriffsrechte der Dateien unter /dev/ verändern, aber mein Rat: Finger weg! Mit so etwas kann man sich wunderbar sein System zerschießen (ich spreche aus Erfahrung ;))

Vielen Dank für deine Bemühungen nochmals

pino

Nicht zu Danken, dafür gibt es ja ein Forum.
Mit den Formatierungen:
BLOCKSATZ UND FETTSCHRIFT GILT IM INTERNET (GERADE IM USENET UND COMPUTERFOREN) ALS BRÜLLEN UND SCHREIEN.

Daher bitte nicht persönlich nehmen, aber es kann schnell passieren, daß man sich so unbeliebt macht.

Wobei die Formatierungen natürlich verwendet werden dürfen um wichtige Stellen hervorzuheben (ich habe es hier auch weiter oben mal gemacht ;))

MfG, Bio
 
Zuletzt bearbeitet:
@t_matze: Ja, stimmt... ursprünglich hatte ich das CF auch mit ntfs formatiert und daher keine Möglichkeit unter Linux auf den Datenträger zu schreiben. Ich habe ihn jetzt mit Fat32 formatiert... das klappt nun sowohl unter WinXP als auch unter Linux. Nachdem ich dann noch das Leerzeichen in der fstab beseitigt hatte, funktionierte auch das Schreiben unter Linux auf das CF.

@Bio-logisch: Nochmals vielen Dank für deine ausführlichen Erklärungen... auch wenn das mit diesen Rechten doch sehr kompliziert ist, zumindest habe ich den Grundgedanken soweit verstanden. Werde mich da wohl noch intensiver einlesen müssen... sehr seltsam ist das unter Linux allerdings schon gelöst.

Danke Euch

pino
 
Oben