Möglichkeiten Wechselmedien zu mounten; (FLASH ohne sync!)
Am Wednesday 19 October 2005 16:45 schrieb RalfGesellensetter:
> > - Wenn ein Schüler in eine Workstation einen USB-Stick steckt, wie
> > kann er darauf zugreifen?
>
> Unter Gnome soll es eine besonders einfache Lösung geben -
Der gnome-volume-manager bekommt vom laufenden hal-daemon events gemeldet und
mountet für Benutzer die in der Gruppe plugdev sind mit pmount (policy-mount)
eingesteckte USB Pens, Sticks, Laufwerke etc. automatisch unter /media. Das
geht automatisch ohne extra Einstellungen. Es ist die fortschrittlichste und
zukünftig wohl standard Methode.
Die Version in sarge dürfte aber, glaube ich, noch durcheinnander kommen wenn
mehrere Benutzer gleichzeitig eingeloggt sind (Terminalserver!). Das
automatische mounten und öffnen in Gnome auf Terminalservern etc. in dem Fall
abschalten. Es reicht ja wenn bei allen angemeldeten Usern ein Button auf dem
Desktop erscheint, und schon geht der Wettkampf los... :)
> aber auch
> unter KDE lässt sich unter Desktop-Verhalten definieren, dass
> automatisch Symbole für gefundene Laufwerke eingeblendet werden.
Leider hat das KDE 3.3 in sarge noch kein volume-manager der auf hal events
reagiert und unterstützt auch noch kein pmount für device icons. Solange das
noch nicht geht gibt es einige Alternativen:
Man kann genau wie für floppys und cdroms statische Zeilen in die /etc/fstab
eintragen. Solange dort Zeilen mit der Option "user" stehen können über
automatisch erstellte KDE-Icons (Desktop-> Verhalten-> Geräte->
Festplattenpartitionen anzeigen lassen), unter Geräte im Konqueror, oder mit
einem Applet Medien per user mount manuell ein- und ausgebunden werden.
(Leider... ändern sich die Device Nodes manchmal, daher sind statische
einträge schlecht)
> Zusätzlich muss automount installiert sein AFAIK.
Mit einem automounter kann man sich das manuelle mounten und unmounten sparen.
Mounten geschieht beim Zugriff auf den Mountpoint. Unmounten erfolgt nach
einigen Sekunden inaktivität automatisch. (Pakete autofs oder am-utils)
...Die device nodes für hotplug Geräte sind nicht bei jedem Einstecken die
gleich. Um das Problem zu lösen können hotplug skripte(s.u.), udev regeln
oder der hal daemon selbst (mit fstab-sync) dazu dazu verwendet werden
die /etc/fstab dynamisch zu modifizieren.
Skipte können die Medien auch gleich *systemweit* mounten (mit users option),
und nach abziehen des hotplug Geräts wieder unmounten (sloppy, force), sofern
der user das nicht ordnungsgemäß gemacht hat/konnte.
(Leider... ist da Abziehen ohne unmounten eine schlechte Idee solange die sync
Mountoption noch nicht brauchbar ist. Das Automatische mounten empfiehlt sich
also nur wenn die verwendete grafische Oberfläche keine mount funktionen
bereitstellt, evtl. für die console, und nur wenn alle Wechselmedienbenutzer
sich vertrauen.)
Das Paket usbmount installiert ein solches hotplug Skript, es kann usb-storage
devices automatisch global nach /media/usb mounten. Also nicht für einzelne
user, sondern nur für alle (floppy) user gemeinsam, oder immer für den
gleichen. (/etc/usbmount/usbmount.conf konfigurien)
Ein hotplug Skript das für einen User mountet, und auch KDE-Icons erstellt ist
dieses hier: http://wiki.kanotix.net/CoMa.php?CoMa=usb-storage Es bietet
auch eine UDEV_SUBTLE_SARGE_HACK="yes" Option mit der es device Nodes selber
anlegt anstatt minutenlang (bei mir fast 5 Minuten) zu warten bis Sarges udev
sie angelegt hat.
(Leider... funktioniert das Mounten für einen User aber wohl nur bei
Workstations, bzw. solange immer nur ein Benutzer angemeldet ist.)
Dann gibt es noch submount/supermount aber da kenne ich mich nicht aus. Kann
jemand anderes da etwas zu sagen?
Jetzt aber zur sync Option!
Da die zumindest die vfat sync Option nicht gut implementiert ist[1] leidet
dabei der Flashspeicher (sind sehr langsam zu beschreiben und gehen schnell
Kaputt) aber auch Floppylaufwerde und Festplatten.
Daher darauf achten, dass momentan die sync option besser *nicht* verwendet
wird!
Also tatsächlich am besten (ggf. mit Hilfe (automatisch) erstellter Icons)
immer manuell unmounten oder mit einem Auto(un)mounter arbeiten.
Sinvolle Optionen für removable media sind damit rw, async, nodev, noexec,
nosuid, noauto und user. Die ersten Beiden sind Standard, die drei danach
sind in user enthalten. Für "user" mounts reicht also:
"noauto,user"
"noatime" empfiehlt sich um unnötiges schreiben des Flashs bei wiederholtem
lesen zu verhindern, sofern man auf die Zugriffsstatistik verzichten kann.
Mit diesen Optionen düften keine unzulässigen Devicedateien oder suid root
Programme ins System gehängt und verwendet werden können. Beim reinkopieren
gelten dann die Rechte des Users.
Für vfat Dateisystem (dos/win) zusätzlich folgendes verwenden:
quiet,shortname=mixed,codepage=850,dmask=0002,fmask=0113
(Auf UTF8 Systemen (ubuntu,Fedora,...) auch iocharset=utf8)
So sind die Dateirechte an ein ein Multi-User System mit umask 002 wie
Skolelinux angepasst.
Wenn Skripte nicht als user, sondern systemweit mounten, passt man die vfat
Optionen wie folgt an: (Also z.B. bei usbmount)
"users" anstatt "user",
zusätzlich gid=floppy und
andere Rechte: dmask=0007,fmask=0117 verwenden.
(Achtung: Bei solchen globalen vfat mounts können alle user unmounten, und
alle in der Gruppe floppy mitlesen/schreiben)
(Weitere vfat Tipps: http://www.pro-linux.de/t_system/vfat-tipps.html)
Hier nun ein shell Skript, dass die fstab dynamisch anpasst (Solange immer nur
ein X-Benutzer angemeldet ist kann es optional auch mounten).
http://ccomb.free.fr/wiki/wakka.php?wiki=UsbMassStorageEnglish
In Zeile 225 sollte man noch die zusätzlichen vfat Optionen anpassen:
...IOCHARSET=",quiet,shortname=mixed,codepage=850,dmask=0002,fmask=0113";...
Das ",iocharset=utf8" welches vorher da stand sollte man auf sarge Systemen
weglassen.
An gleicher Adresse gibt es auch alternativ ein perl Skript das den autofs
Automounter dynamisch für /media/hotplug konfiguriert.
Hätte den Vorteil das dann ein USB Stick gefahrlos abgezogen werden kann
sofern für eine weile kein Programm mehr eine Datei darauf offen hat.
Gruß
Christian
[1]Sync option destroys flash!
http://www.ussg.iu.edu/hypermail/linux/kernel/0505.1/1249.html
Reply to: