Ich betreibe auf Linux Mint virtuelle Maschinen mit VirtualBox. Einer VM soll eine SATA-Harddisk zugeordnet werden - das funktioniert so weit. Allerdings kann man die in der VM gemountete HD auf dem Hostsystem nochmal mounten - was sehr leicht das Volume zerstören kann. Wie kann ich verhindern, dass die Platte auf dem Host gemountet werden kann?
udev rule anlegen, und für diese Partition UDISKS_PRESENTATION_HIDE und/oder _NOPOLICY setzen. Dann darf nur noch root die Partition Mounten.
Planlos schrieb: > udev rule anlegen, und für diese Partition UDISKS_PRESENTATION_HIDE > und/oder _NOPOLICY setzen. > > Dann darf nur noch root die Partition Mounten. Ist das nicht eh der Fall, wenn sie nicht gerade als user-mountable in der fstab eingetragen ist?
Ich fürchte auch, dass Du da in der Tat sehr schlechte Karten hast. Ein Verstecken der Platte für den Host ist schon deswegen nicht möglich, da es in der Regel der Host-Treiber ist, der die Platte steuert. Sie ist also Teil des Host-Systems, damit auch immer in irgendeiner Form sichtbar und folglich zumindest für Root auch zugreifbar. Es ist nun mal Teil der Unix Philosophie, dass Root grundsätzlich alles darf, was möglich ist. Was wirklich nötig wäre wäre ein systemweit verbindlicher Locking Mechanismus, mit dem ein Prozess eine Datei für die exklusive Nutzung öffnen kann. Einen solchen Mechanismus hat es aber unter Unix nie gegeben und das hat sich meines Wissens nach bis heute auch nicht geändert. (Falls doch würde ich mich freuen, davon zu hören.) Zwar bietet Unix verschiedenen Locking Mechanismen an, die beruhen letztlich aber immer auf die Kooperation der beteiligten Prozesse. Ein nicht kooperierender Prozess konnte diese Mechanismen immer umgehen. So war es schon immer möglich, dass mehrere Prozesse ohne besondere Absprache ein und dieselbe Datei öffnen konnten (und das Device File einer Festplatte ist nun mal auch nur eine normale Datei). Ich bin mir nicht einmal sicher, ob es nicht möglich ist, ein und dieselbe Platte auf ein und demselben System mehrfach zu mounten, es gab zumindest mal Zeiten und Systeme, auf denen das möglich war. (Inzwischen implementiert mount wohl aber seinen eigenes Locking, was aber natürlich nur für das Mounten auf dem gleiche System greifen kann.)
A. H. schrieb: > (Inzwischen implementiert mount wohl > aber seinen eigenes Locking, was aber natürlich nur für das Mounten auf > dem gleiche System greifen kann.) Es wäre zumindest ein Ansatzpunkt, wenn man mount einen Lock unterschieben könnte.
Rolf Magnus schrieb: > Ist das nicht eh der Fall, wenn sie nicht gerade als user-mountable in > der fstab eingetragen ist? Nein, gerade Desktop-Distributionen erlauben jedem User das Mounten von nicht in der fstab stehenden Partitionen. Ist natürlich primär für USB-Sticks u.Ä. gedacht. A. H. schrieb: > Ich fürchte auch, dass Du da in der Tat sehr schlechte Karten hast. Wenn er die Platte vor "root" schützen will, in der Tat. Root kann das Dateisystem aber sowieso immer zerstören. Wichtig ist m.E. primär, dass die Platte nicht im Dateimanager (Thunar, Nautlius, Dolphin, ... ) direkt mit "Klick-Mich! Mounte-Mich!"-Icon angezeigt wird. Damit ist die größte Fehlerquelle ("uuups. daneben geklickt") schonmal ausgeschaltet. Planlos schrieb: > udev rule anlegen, und für diese Partition > UDISKS_PRESENTATION_HIDE > und/oder _NOPOLICY setzen. => Das nochmal exakt nachschauen, verschiedene Distribution(s-Versionen) haben da teilweise andere Variablennamen, "UDISKS_IGNORE" meint z.B. die ubuntu-15.10 "udisks(8)"-manpage.
Planlos schrieb: > Wichtig ist m.E. primär, dass die Platte nicht im Dateimanager (Thunar, > Nautlius, Dolphin, ... ) direkt mit "Klick-Mich! Mounte-Mich!"-Icon > angezeigt wird. Genau das ist der Punkt und dein Tipp mit UDISKS_IGNORE tut es:
1 | ENV{ID_FS_UUID}=="<uuid>", ENV{UDISKS_IGNORE}="1" |
Vielen Dank.
Planlos schrieb: > Rolf Magnus schrieb: >> Ist das nicht eh der Fall, wenn sie nicht gerade als user-mountable in >> der fstab eingetragen ist? > > Nein, gerade Desktop-Distributionen erlauben jedem User das Mounten von > nicht in der fstab stehenden Partitionen. > > Ist natürlich primär für USB-Sticks u.Ä. gedacht. Da kenne ich das auch, dann allerdings mit pmount oder vergleichbarem. Aber zumindest bei meinem Kubuntu und bei Debian funktioniert das nicht mit SATA-Platten. Gerade nochmal probiert. Bei mount sagt er:
1 | mount: only root can do that |
2 | /Code] |
3 | Bei pmount sagt er: |
4 | [Code] |
5 | Fehler: Gerät /dev/sda2 ist kein Wechseldatenträger |
Rolf Magnus schrieb: > Da kenne ich das auch, dann allerdings mit pmount oder vergleichbarem. das "vergleichbare" ist in dem Fall udev + dbus + udisks(2). statt "pmount" wäre das Kommando "udisksctl mount ..."
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.