2012-06-04 7 views
8

Tut mir leid, dies hier zu fragen, aber ich habe versucht, Serverfault und bekam keine Antwort für 4 Tage.Mount freigegebenen Ordner (vbox) als ein anderer Benutzer

Die damit verbundene Frage gibt: https://serverfault.com/questions/394197/mount-shared-folder-vbox-as-another-user


Frage:

Ich versuche, meine vbox Ordner mein ubuntu jedes Mal geteilt zu montieren (10,04) beginnt.

Also, habe ich einen Eintrag in/etc/init mit diesem:

description  "mount vboxsf Desktop" 

start on startup 

task 
exec mount -t vboxsf Desktop /var/www/shared 

scheint zu funktionieren, mit Ausnahme der Tatsache, dass alle Dateien, die von „root“ gehören, und ich habe nicht Erlaubnis, auf den Ordner zu schreiben (weder chmod noch chown funktionieren).

Also, wie kann ich alle Dateien in diesem freigegebenen Ordner zu WW2-Daten Benutzer/Gruppe gehören?


ps .: Der Hauptgrund für mich ein automatischen freigegebenen Ordner zu haben, ist, so kann ich bearbeiten/Dateien vom Host auf den GASEN www Ordner erstellen.

Wenn Sie eine bessere Idee dafür haben, anstatt den Ordner zu teilen, fiel frei zu sagen.

Antwort

19

Nun, während ich ein anderes Problem mit meinem freigegebenen Ordner im Zusammenhang mit war, landete ich auf diese Stackoverflow Frage Aufstehen: Shared folder in VirtualBox for Apache

Es hat mich auf 2 Arten geholfen, und es scheint, dass, was ich sind, müssen diejenigen, uid und gid Optionen.

, also einen freigegebenen Ordner als ein anderer Benutzer zu montieren, würde ich laufen:

mount -t vboxsf SHARE_NAME /some/dir -o uid=48,gid=48 

auch, um zu sehen, was Ihre www-data sind ‚s gid und uid, nur laufen id www-data.

Wenn Sie müssen auch auf den montierten Dateien die Berechtigungen ändern, um nur die Optionen „D-Modus“ hinzufügen, wie:

sudo mount -t vboxsf SHARE_NAME-o rw,dmode=777,gid=GROUP_ID,uid=USER_ID /path/on/guest 

Die verfügbaren Optionen sind (von mount ‚s Hilfe):

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 

Und wenn Sie es brauchen während des System init ausgeführt werden, erstellen Sie einfach eine Datei auf /etc/init/SOMETHING.conf, mit so etwas wie folgt aus:

description  "SOME DESCRIPTION" 

start on startup 

task 
exec mount -t vboxsf YOUR_SHARE_NAME /path/on/guest -o uid=1000,gid=33 
+3

Ich habe viel probiert, bis ich herausfand, dass 'SHARE_NAME' nur der einfache Freigabename ist, den ich in meinen VirtualBox Einstellungen definiert habe, ohne den Pfad'/media/... 'dann hat es funktioniert;) – rubo77

+0

Aus irgendeinem Grund ist dies kein dauerhafte Lösung in meiner Debian VM. Ich muss immer den oberen Code nach jedem Neustart neu eingeben. – Lanti