当前位置: 首页>>技术教程>>正文


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

, , ,

问题描述

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

我正在尝试挂载一个共享文件夹,该文件夹包含我需要在 virtualbox 和 Windows 操作系统上访问的文件。我已经使用安装的 Guest Additions 中的 vboxsf 成功安装了它们。

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

我找到了几种在启动时自动挂载目录的方法,例如使用 /etc/rc.local 方法( here ),您可以在其中修改将命令附加到它的所述文件(没有 sudo )。或者通过使用 fstab 方法 ( here )。我个人更喜欢 rc.local 方法。

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

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

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

最佳方法

如果您安装了来宾添加,请使用 VirtualBox 菜单:

Devices > Shared Folders…

添加路径、名称并启用 “Auto-mount” 和 “Make permanent” 选项。

最后将您的用户添加到组中:

sudo usermod -G vboxsf -a myusername

注销并再次返回或重新启动机器以完成该过程(感谢@Fo)。

根据 usermod man page ,组存储在 /etc/group 中。

次佳方法

啊,写一个问题然后马上找到答案的诅咒。

我没有使用 this link 中建议的完整命令

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

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11991.html,未经允许,请勿转载。