Ich versuche, einen freigegebenen VirtualBox-Ordner einzurichten, der von jedem Benutzer gemountet werden kann. Daher gebe ich diese Zeile ein /etc/fstab
:
# mint shared folder
mint /media/sf_mint vboxsf defaults,user,uid=1000,gid=999 0 0
Ich erhalte jedoch diese Fehlermeldung:
juanlu@minted ~ $ mount mint
Only root can mount shared folders from the host.
juanlu@minted ~ $ sudo !!
sudo mount mint
unknown mount option `user'
valid options:
rw mount read write (default)
ro mount read only
uid =<arg> default file owner user id
gid =<arg> default file owner group id
ttl =<arg> time to live for dentry
iocharset =<arg> i/o charset (default utf8)
convertcp =<arg> convert share name from given charset to utf8
dmode =<arg> mode of all directories
fmode =<arg> mode of all regular files
umask =<arg> umask of directories and regular files
dmask =<arg> umask of directories
fmask =<arg> umask of regular files
Wenn ich die Option entferne user
, bin ich zwar gezwungen, sudo
aber zumindest wird der Besitzer des Einhängepunkts richtig zugewiesen. Was mache ich hier falsch?
Beachten Sie, dass dies möglicherweise ein Duplikat istMounten eines freigegebenen VBox-Ordners als Benutzer, aber ich habe tatsächlich eine Option ausprobiert, die funktionieren sollte.
Antwort1
Alsfreundlicherweise beantwortet in den VirtualBox-Benutzer-Support-Foren, vbox freigegebene Ordner sind nicht wirklichGeräte(wenn sie es wären, wären sie unter /dev/
) unddaher die Option „Benutzer“unter anderenist nicht anwendbar. Daher ist es nicht möglich, Nicht-Administrator-Benutzern das manuelle Mounten des freigegebenen Ordners zu gestatten.
Es besteht jedoch immer noch die Möglichkeit, die vboxsf automatisch zu mounten /etc/rc.local
und die Mount-Optionen anzupassen. Dies ist ähnlich wie Automount, ermöglicht aber die Festlegung geeigneter Masken und Berechtigungen für den Ordner.wie hier erklärtBeachten Sie jedoch, dass diese Seiteunvollständigindem es auf die mount
Manpage verweist, um die Liste der verfügbaren Optionen aufzulisten, aber tatsächlich sind einige davon, wie oben gezeigt, nicht anwendbar.
Antwort2
Dies sieht nach einem Fehler in der Programmdatei ausmount.vboxsf.c, das Teil der VirtualBox Guest Additions für Linux ist, und ich glaube, dass Sie nichts falsch machen.
Die Prüfung auf Ausführung unter dem Root-Account erfolgt direkt in main() beim Start des Programms und zwar bevor die Parameter verarbeitet werden, also bevor der user
Parameter erkannt bzw. verarbeitet wird.
Die Prüfung hätte viel später durchgeführt werden müssen, nachdem die effektive Benutzer-ID des Prozesses (oder seines Forks) auf das angegebene Benutzerkonto geändert wurde.
Sie sollten diesen Fehler den VirtualBox-Entwicklern melden.
Das richtige Forum scheint zu seinVirtualBox auf Linux-Hosts(Anmeldung erforderlich).
Antwort3
user
Sie benötigen die Option nicht unbedingt, /etc/fstab
um normalen Benutzern das Mounten eines Dateisystems zu gestatten.
Eine weitere Option besteht darin, diese Aktion so zu konfigurieren sudo
, dass sie zugelassen wird, entweder mit oder ohne Abfrage des Kennworts des ausführenden Benutzers.
Aus man sudoers
:
Authentifizierung und Protokollierung
Die Sicherheitsrichtlinie von sudoers erfordert, dass sich die meisten Benutzer authentifizieren, bevor sie sudo verwenden können. Ein Kennwort ist nicht erforderlich, wenn der aufrufende Benutzer root ist, wenn der Zielbenutzer derselbe wie der aufrufende Benutzer ist oder wenn die Richtlinie die Authentifizierung für den Benutzer oder Befehl deaktiviert hat.
Tag_Spec
[...]
NOPASSWD und PASSWD
Standardmäßig erfordert sudo, dass sich ein Benutzer authentifiziert, bevor er einen Befehl ausführt. Dieses Verhalten kann über das Tag NOPASSWD geändert werden. Wie ein Runas_Spec legt das Tag NOPASSWD einen Standard für die Befehle fest, die ihm in der Cmnd_Spec_List folgen. Umgekehrt kann das Tag PASSWD verwendet werden, um die Dinge umzukehren. Beispiel:
Ray Rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
würde es dem Benutzer Ray ermöglichen, /bin/kill, /bin/ls und /usr/bin/lprm als Root auf der Maschine Rushmore auszuführen, ohne sich zu authentifizieren.
Eine Zeile wie diese /etc/sudoers
ermöglicht es jedem Benutzer, das angegebene Dateisystem zu mounten, ohne ein Passwort eingeben zu müssen:
ALL ALL = NOPASSWD: /bin/mount mint
Dann sudo mount mint
sollte es als normaler Benutzer funktionieren.