2012-06-04 12 views
8

Lamento preguntar esto aquí, pero probé serverfault y no recibí ninguna respuesta durante 4 días.Monte la carpeta compartida (vbox) como otro usuario

La pregunta relacionada ahí: https://serverfault.com/questions/394197/mount-shared-folder-vbox-as-another-user


Pregunta:

Estoy tratando de montar mi vbox carpeta compartida cada vez que mi ubuntu (10,04) comienza.

Por lo tanto, he añadido una entrada en/etc/init con esto:

description  "mount vboxsf Desktop" 

start on startup 

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

parece funcionar, excepto por el hecho de que todos los archivos son propiedad de "raíz", y no tengo permiso para escribir en la carpeta (ni chmod ni chown parecen estar funcionando).

Entonces, ¿cómo puedo hacer que todos los archivos de esta carpeta compartida sean propiedad de www-data user/group?


ps .: La razón principal para mí tener una carpeta compartida automática, es por lo que puede crear/editar archivos desde el host en la carpeta INVITADO www.

Si tiene una mejor idea para eso, en lugar de compartir la carpeta, se cayó en libertad de decir.

Respuesta

19

Bueno, mientras yo estaba teniendo otro tema relacionado con mi carpeta compartida, que terminó siendo a esta pregunta StackOverflow: Shared folder in VirtualBox for Apache

Me ayudó de 2 maneras, y parece que lo que necesito son los uid y gid opciones.

Así, para montar una carpeta compartida como otro usuario, yo correría:

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

También, para ver cuáles son sus www-data 's gid y UID, tan sólo ejecute id www-data.

Si también necesita cambiar los permisos de los archivos montados, sólo tiene que añadir "dmode" a las opciones, como:

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

Las opciones disponibles son (de ayuda mount 's):

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 

Y si lo necesita para funcionar durante el inicio del sistema, basta con crear un archivo en /etc/init/SOMETHING.conf, con algo como esto:

description  "SOME DESCRIPTION" 

start on startup 

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

Lo intenté mucho hasta que descubrí que 'SHARE_NAME' es simplemente el nombre compartido simple que definí en mi Configuración de VirtualBox, sin la ruta'/media/... 'luego funcionó;) – rubo77

+0

Por alguna razón esto no es un solución permanente en mi máquina virtual Debian. Siempre necesito volver a escribir el código superior después de cada reinicio. – Lanti

Cuestiones relacionadas