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


33

这是我第一次使用virtualbox和ubuntu(14.04),我使用的是Windows 7主机。

我正在尝试安装一个共享文件夹,该文件夹包含我需要在virtualbox和Windows OS上访问的文件。我已经成功地安装它们使用vboxsfGuest Additions安装。

要挂载,我使用的命令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方法(此处)。我rc.local个人更喜欢这种方法。

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

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

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


我在论坛forums.virtualbox.org/viewtopic.php?f=3&t=79965上找到了很好的话题。我建议任何阅读此文章的人阅读。
www139

Answers:


49

如果您安装了来宾添加项,请使用Virtualbox菜单。
设备>共享文件夹...添加路径,名称并启用“自动安装”和“设为永久”选项。

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

sudo usermod -G vboxsf -a myusername

注销并再次返回或重新启动计算机以完成该过程(感谢@Fo)。根据usermod手册页,组存储在/ etc / groups中 。


啊,我不知道这很有用,请问用户组存储在哪里?
Fiztban 2014年

我尝试了此操作,即使确认已将我添加到组中也无法访问共享文件夹。
杰克

@Jake您的来宾添加项是否正确安装?
卡图

4
需要将自己添加到组后,注销并重新登录
佛。

我对此也有问题,请root vboxsf我在主目录中为挂载共享创建的符号链接文件中查看,但主要问题是我也遇到读取问题。就我而言,为诸如755现在将需要的权限等设置的网络文件是合理的775吗?这是不行的,如果需要,我需要一个解决方案将其安装到我的用户上。该uidgidfstabwasnt工作对我来说,也许是因为它的自动安装由客户附加我推测,我真的不知道为什么fstab不工作。移动文件时,我看到了这一点mv: cannot create symbolic link
Brian Thomas

23

写下问题然后立即找到答案的诅咒。

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

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

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

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


2
我可能会补充说,从NTFS共享的共享文件夹可能会有一些特定的特殊情况。您可以通过lostup解决问题,并将文件链挂载为文件系统。
RobotHumans 2014年

1
此外,更改vboxsf分区上的所有权的命令将不会生效。见superuser.com/questions/640027/...
Reinier帖子

该解决方案将安装“固定”到特定的用户标识。不确定这是否是OP想要的。如果其他用户正在使用此系统,则该系统将不适用于所有用户。
Devolus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.