PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dauerhafter Schreibzugriff für User auf USB-Festplatte?



linux-learner
01.03.08, 14:00
Ich habe eine USB-Festplatte, die mit NTFS formatiert ist. Diese schaltet sich jede Nacht automatisch ein (Zeitschaltuhr), wird automatisch nach /media gemountet und es kann ein cronjob zur Datensynchronisation mit rsync ablaufen. Dies funktioniert solange root angemeldet ist.

erstes Problem:
Bei jedem Einschalten der Platte öffnet sich ein Konqueror-Fenster mit dem Platteninhalt (was normalerweise ja auch erwünscht ist, aber nach ein paar Tagen Abwesenheit muss ich die Fenster immer alle einzeln wegklicken). Für root konnte ich das unterbinden, indem ich auf die Frage "Ein neues Medium wurde gefunden. Was möchten Sie unternehmen?" "Nichts unternehmen" und "Die Auswahl für diesen Medientyp merken" angeklickt habe. Bei den Usern funktioniert das leider nicht. Wie kann ich bei den Usern das Konqueror-Fenster unterbinden?

zweites Problem:
User haben keinen Schreibzugriff auf diese Platte. Mit dem Eintrag in die fstab

/dev/sdc1 /home/user1/USB-Disk ntfs-3g guid=1000,gid=100,umask=000,locale=de_DE.UTF-8 0 0

lässt sich dies zwar ändern, aber nur, wenn die Platte beim Booten angeschlossen ist und auch nur bis zum ersten Ausschalten den Platte.
Gibt es eine Möglichkeit, dass User dauerhaft, d.h. immer automatisch, wenn die Platte eingeschaltet wird, Schreibzugriff auf diese Platte erhalten?

fuffy
01.03.08, 14:30
Hi!

Warum formatierst du die Festplatte nicht mit ext2/3? Dann könnte rsync beim Cronjob auch die Berechtigungen erhalten. Und Schreibzugriff gibts dann auch für jeden, wenn gewünscht.

Gruß
fuffy

linux-learner
01.03.08, 14:38
Es handelt sich um ein Netz, das ausschließlich aus Windows-Clients besteht. Sollte der Linux-Server ausfallen, so stehen die Daten auf der USB-NTFS-Platte schnell für die User zur Verfügung.

Muss mein obigen Ausführungen noch berichtigen:
Auch root hat beim automatischen mounten der NTFS-PLatte nach /media nur Lesezugriff. Der Schreibzugriff für root klappt dagegen bei meiner FAT32 USB-Platte (aber nur für root).

fuffy
01.03.08, 15:02
Es handelt sich um ein Netz, das ausschließlich aus Windows-Clients besteht. Sollte der Linux-Server ausfallen, so stehen die Daten auf der USB-NTFS-Platte schnell für die User zur Verfügung.
Da würde auch die Einrichtung des ext2-Treibers durch den Administrator reichen.


Auch root hat beim automatischen mounten der NTFS-PLatte nach /media nur Lesezugriff. Der Schreibzugriff für root klappt dagegen bei meiner FAT32 USB-Platte (aber nur für root).
Wie mountest du? Was hat KDE überhaupt auf nem Fileserver verloren? :confused:

Gruß
fuffy

linux-learner
01.03.08, 15:15
Wie mountest du?
Ich habe gar nicht speziell gemountet, das Mounten der USB-Platte nach /media erfolgt automatisch, wenn ich die Platte einschalte. Scheint eine Grundeinstellung von SuSE 10.3 zu sein.


Was hat KDE überhaupt auf nem Fileserver verloren?
Ist natürlich ein berechtigte Frage. Auch wenn´s den Puristen graust: Da ich mein E-Mails nicht gerne mit meinem Windows-Arbeitsplatzrechner verwalten möchte, logge ich mich als User am Server ein und benutze K-Mail.

fuffy
01.03.08, 15:39
Ich habe gar nicht speziell gemountet, das Mounten der USB-Platte nach /media erfolgt automatisch, wenn ich die Platte einschalte. Scheint eine Grundeinstellung von SuSE 10.3 zu sein.
Dann musst du die Konfiguration von HAL entsprechend anpassen.


Ist natürlich ein berechtigte Frage. Auch wenn´s den Puristen graust: Da ich mein E-Mails nicht gerne mit meinem Windows-Arbeitsplatzrechner verwalten möchte, logge ich mich als User am Server ein und benutze K-Mail.
Wieso verwendest du dann kein Linux auf deinem Arbeitsplatzrechner?

Gruß
fuffy

linux-learner
01.03.08, 16:29
Wieso verwendest du dann kein Linux auf deinem Arbeitsplatzrechner?
Tja, darüber denke ich immer wieder mal nach. Ich arbeite relativ viel mit selbst geschriebenen dBASE-Programmen (für DOS). Ich weiß zwar, dass das grundsätzlich auch unter Linux gehen müsste (Wine oder besser VirtualMachine?), aber da bin ich bislang noch nicht dazu gekommen...

Back to topic:
Ich habe gerade eine Idee, die funktionieren müsste:
Die USB-Platte wie oben beschrieben in der fstab eintragen, jedoch mit dem Zusatz noauto.
Dann den entsprechenden Mount-Befehl als zusätzlichen cronjob (2 Minuten vor rsync) in die Crontab eintragen.

Beim Test "von Hand" in der Konsole, also nicht als cronjob hat's funktioniert - sogar ohne, dass irgendwelche Konqueror-Fenster aufgingen.

Wenn ich die crontab als root mit crontab -e editiert habe, läuft dieser cronjob dann immer, wenn Linux gebootet ist oder nur wenn root auch angemeldet ist?

fuffy
01.03.08, 17:56
Tja, darüber denke ich immer wieder mal nach. Ich arbeite relativ viel mit selbst geschriebenen dBASE-Programmen (für DOS). Ich weiß zwar, dass das grundsätzlich auch unter Linux gehen müsste (Wine oder besser VirtualMachine?), aber da bin ich bislang noch nicht dazu gekommen...
Für DOS-Anwendungen bieten sich dosbox oder gleich dosemu an.


Ich habe gerade eine Idee, die funktionieren müsste:
Die USB-Platte wie oben beschrieben in der fstab eintragen, jedoch mit dem Zusatz noauto.
Dann den entsprechenden Mount-Befehl als zusätzlichen cronjob (2 Minuten vor rsync) in die Crontab eintragen.
Das wird für diese Aufgabe so funktionieren. Dann ist natürlich kein automatisches Mounten beim Einschalten der Festplatte drin.


Wenn ich die crontab als root mit crontab -e editiert habe, läuft dieser cronjob dann immer, wenn Linux gebootet ist oder nur wenn root auch angemeldet ist?
Der Job läuft immer, wenn crond läuft. Der sollte bei jedem Booten automatisch gestartet werden.

Gruß
fuffy

linux-learner
01.03.08, 19:07
Danke - dann bin ich ja erstmal am Ziel angekommen.

Trotzdem würde es mich noch interessieren, wie man die Konfiguaration von HAL diesbezüglich anpassen kann?


Für DOS-Anwendungen bieten sich dosbox oder gleich dosemu an.
Meine Programme brauchen immer ein bißchen zusätzliche Konfiguration bzgl. der Umgebungsvariablen (files, buffers) und der Codepage. Geht so etwas auch in der dosbox oder bei dosemu?

fuffy
01.03.08, 19:16
Trotzdem würde es mich noch interessieren, wie man die Konfiguaration von HAL diesbezüglich anpassen kann?
Da müsstest du dir mal die Dateien in /usr/share/hal/fdi/policy/ anschauen.


Meine Programme brauchen immer ein bißchen zusätzliche Konfiguration bzgl. der Umgebungsvariablen (files, buffers) und der Codepage. Geht so etwas auch in der dosbox oder bei dosemu?
In dosbox kann man einiges bezüglich des Speichers einstellen. Ob das in deinem Fall ausreicht, weiß ich nicht.

In dosemu läuft ein normales DOS, z.B. auch MS-DOS.

Gruß
fuffy

MiGo
02.03.08, 10:10
Auch root hat beim automatischen mounten der NTFS-PLatte nach /media nur Lesezugriff.
Dann würde ich mal in die Logs schauen - wahrscheinlich ist die Platte nicht sauber ausgehängt worden (damit befindet sich das FS in einem "unclean state"). Und in dem Falle hängt ntfs-3g die Partitionen immer nur-lesend ein um Fehler zu vermeiden.

linux-learner
02.03.08, 11:40
Dann würde ich mal in die Logs schauen - wahrscheinlich ist die Platte nicht sauber ausgehängt worden (damit befindet sich das FS in einem "unclean state"). Und in dem Falle hängt ntfs-3g die Partitionen immer nur-lesend ein um Fehler zu vermeiden.
Danke für den Tipp - genau da liegt wohl noch der Schwachpunkt meiner Lösung:
Der cronjob mit rync lief heute Nacht fehlerfrei, doch als ich heute morgen die USB-Platte zur Kontrolle wieder eingeschaltet habe, ließ sie sich nicht mehr als sdc1 (wie in der fstab eingetragen) mounten. Vielmehr wurde sie jetzt als sdd1 erkannt. Ins Verzeichnis /media wurde sie automatisch (aber nur mit Leserechten, auch für root) gemounted.

Ein umount-Befehl in der crontab dürfte das Problem bei mir wohl beheben.

Aber wie ist das normalerweise mit USB-Laufwerken: Müssen die immer "von Hand" ausgehängt werden, bevor ich den Stecker herausziehe, oder ist das nur ein Problem bei NTFS-Laufwerken?

fuffy
02.03.08, 14:53
Hi!


Aber wie ist das normalerweise mit USB-Laufwerken: Müssen die immer "von Hand" ausgehängt werden, bevor ich den Stecker herausziehe
Ja, anderenfalls kannst du nicht sicher sein, dass der Write-Cache geschrieben wurde. Es gibt grundsätzlich erst einmal keine Unterscheidung zwischen intern und extern.

Gruß
fuffy

MiGo
02.03.08, 16:02
Aber wie ist das normalerweise mit USB-Laufwerken: Müssen die immer "von Hand" ausgehängt werden, bevor ich den Stecker herausziehe, oder ist das nur ein Problem bei NTFS-Laufwerken?
Das ist bei jedem beschreibbaren USB-Gerät so (Sticks, Platten, MP3-Player, Kartenleser) und unter jedem Betriebssystem (Windows, Linux).




Der cronjob mit rync lief heute Nacht fehlerfrei, doch als ich heute morgen die USB-Platte zur Kontrolle wieder eingeschaltet habe, ließ sie sich nicht mehr als sdc1 (wie in der fstab eingetragen) mounten. Vielmehr wurde sie jetzt als sdd1 erkannt.
Wie so oft heisst die Lösung UDEV - damit kannst du dem Rechner sagen, dass diese Platte immer als /dev/backupplatte angelegt werden soll.
Anleitungen gibt's im Forum oder unter http://wiki.ubuntuusers.de/udev oder http://reactivated.net/writing_udev_rules.html



Diese schaltet sich jede Nacht automatisch ein (Zeitschaltuhr), wird automatisch nach /media gemountet und es kann ein cronjob zur Datensynchronisation mit rsync ablaufen.
Unnötig. Mit Udev kannst du auch Scripte ausführen lassen, wenn die Platte eingeschaltet wird - so mache ich meine Backups :)
In dem Script ist dann auch die Anweisung zum aushängen drin, damit das FS sauber bleibt.