嗯,当我遇到另一个与我的共享文件夹相关的问题时,我最终找到了这个stackoverflow的问题:VirtualBox中的共享文件夹
它以两种方式帮助了我,似乎我需要的是那些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
SHARE_NAME
只是我在VirtualBox设置中定义的纯共享名称,不带路径/media/...
,然后它就可以工作了 ;) - rubo77