如何在 VirtualBox 中自动挂载文件夹并从 root 更改所有权

如何在 VirtualBox 中自动挂载文件夹并从 root 更改所有权

这是我第一次使用 virtualbox 和 ubuntu (14.04),我在主机 Windows 7 操作系统上。

我正在尝试安装一个共享文件夹,其中包含我需要在虚拟机和 Windows 操作系统中访问的文件。我已使用安装vboxsf中的成功安装它们Guest Additions

要安装我使用了命令sudo mount -t vboxsf <dir name in vbox> <directory in linux例如我使用了sudo mount -t vboxsf Test /home/user/Test

我找到了几种在启动时自动挂载目录的方法,例如使用方法/etc/rc.local这里),在其中修改该文件并将命令附加到其中(不带sudo)。或者使用fstab方法(这里)我rc.local个人比较喜欢这个方法。

一旦挂载,它就有权限,dr-xr-xr-x但是一旦挂载,目录就有root所有权,并且chown user /home/user/Test无​​效。这意味着我无法以普通用户身份创建或更改其中的文件。

在 VirtualBox 中,要共享的目录未设置为只读。

有没有办法自动挂载共享文件夹并将所有权分配给我的非root用户?

答案1

如果您安装了客户机附加组件,请使用 VirtualBox 菜单:

设备 > 共享文件夹...

添加路径、名称并启用“自动安装”和“永久安装”选项。

最后使用以下命令将您的用户添加到组中:

sudo usermod -G vboxsf -a myusername

注销并重新登录或重新启动机器以完成该过程(感谢@Fo)。

组存储/etc/groupusermod 手册页

答案2

啊,写出问题然后立即找到答案的诅咒。

我没有使用建议的完整命令此链接

sudo mount -t vboxsf -o uid=$UID,gid=$GID share ~/host

因此,要在 Ubuntu 中添加所有权并通过在 virtualbox 中自动挂载,请在文件行前vboxsf添加以下命令:/etc/rc.localexit 0

mount -t vboxsf -o uid=1000,gid=1000 <folder name given in VirtualBox> /home/<user>/where/ever/you/want

答案3

另一种方法是首先在模式下配置共享驱动器,Auto-mount就像@Katu 的答案的第一部分一样。这将允许通过运行获取共享驱动器的挂载配置mount。您将得到类似以下内容:

$ mount
...
vbox-shared-dir on /media/sf_vbox-shared-dir type vboxsf (rw,nodev,relatime,iocharset=utf8,uid=0,gid=998,dmode=0770,fmode=0770,tag=VBoxAutomounter)...

然后可以使用此信息/etc/fstab/通过附加行进行更新,相应地替换UIDGID删除标签选项:

vbox-shared-dir   /media/sf_vbox-shared-dir  vboxsf rw,nodev,relatime,iocharset=utf8,uid=<UID>,gid=<GID>,dmode=0770,fmode=0770 0       0

此后,您应该能够运行以下命令自动挂载卷:

# mount vbox-shared-dir

然后您只需删除 Auto-mount虚拟盒配置中的选项,因为该卷会在启动期间自动安装。

相关内容