作为另一个用户挂载共享文件夹(vbox)

每次我的ubuntu启动时,我都试着装入我的vbox共享文件夹。

所以,我在/ etc / init中添加了一个条目:

description "mount vboxsf Desktop" start on startup task exec mount -t vboxsf Desktop /var/www/shared 

似乎工作,除了所有的文件都属于“根”,我没有权限写在文件夹(chmod和chown似乎都没有工作)。

那么,如何让这个共享文件夹下的所有文件归属于www-data user / group?

谢谢


ps .:我有一个自动共享文件夹的主要原因是,我可以从GUEST www文件夹上的HOST创build/编辑文件。

如果你有一个更好的主意,而不是共享文件夹,可以自由地说。

[与以下内容相同的答案: StackOverflow ]

那么,当我有与我的共享文件夹相关的另一个问题,我结束了这个问题: https : //stackoverflow.com/questions/6298933/shared-folder-in-virtualbox-for-apache

它以两种方式帮助我,似乎我需要的是那些uid和gid选项。

因此,要以另一个用户的身份挂载共享文件夹,我将运行:

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

另外,要看看你的www数据giduid ,只需运行id www-data

如果您还需要更改已装入文件的权限,只需将“dmode”添加到选项中,如下所示:

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

可用的选项(来自mount的帮助):

 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 

如果你需要在系统初始化时运行它,只需在/etc/init/SOMETHING.conf中创build一个文件,如下所示:

 description "SOME DESCRIPTION" start on startup task exec mount -t vboxsf SHARE_NAME /path/on/guest -o uid=1000,gid=33 

如果你想在你的主机和你的客户之间共享你的文件,你可以很容易地运行一个Web服务器而不是硬共享一个文件夹。 请注意,在我的命令中,主机和客户机是Ubuntu 14.04:在主机:

 mkdir /home/SomeDirectory cd /home/SomeDirectory python -m SimpleHTTPServer 

假设主机ip(10.1.0.110)现在在guest虚拟机中,使用以下命令打开目录:

 xdg-open http://10.1.0.110:8000 

请注意,上面的端口可能不同于8000. xdg-open在xdg-utils包中。 如果您以前没有安装它,请在guest虚拟机中运行:

 sudo apt-get install xdg-utils