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

我很抱歉在这里问这个,但我尝试了serverfault,并没有得到任何答案4天。

那里的相关问题: https : //serverfault.com/questions/394197/mount-shared-folder-vbox-as-another-user


题:

我试图挂载我的vbox共享文件夹,每当我的Ubuntu(10.04)启动。

所以,我在/ 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问题: 在VirtualBox的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中创建一个文件,如下所示:

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