Forum: PC Hard- und Software Linux/VB: Harddisk vor Host-System verbergen


von Uhu U. (uhu)


Lesenswert?

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?

von Planlos (Gast)


Lesenswert?

udev rule anlegen, und für diese Partition UDISKS_PRESENTATION_HIDE 
und/oder _NOPOLICY setzen.

Dann darf nur noch root die Partition Mounten.

von Rolf Magnus (Gast)


Lesenswert?

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?

von A. H. (ah8)


Lesenswert?

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.)

von Uhu U. (uhu)


Lesenswert?

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.

von Planlos (Gast)


Lesenswert?

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.

von Uhu U. (uhu)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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

von Planlos (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.