好吧,当我遇到与共享文件夹相关的另一个问题时,我最终遇到了这个 stackoverflow 问题:VirtualBox for Apache 中的共享文件夹
它以两种方式帮助了我,似乎我需要的是那些 uid 和 gid 选项。
因此,要将共享文件夹挂载为另一个用户,我将运行:
mount -t vboxsf SHARE_NAME /some/dir -o uid=48,gid=48
此外,要查看您的www-data的gid和uid是什么,只需运行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