Virtualbox共享文件夹权限


427

我将Windows和Virtualbox与RedHat结合使用,简单地说:创建了一个共享文件夹,以便可以在Windows OS上使用Eclipse并在Linux中进行一些测试。

但是,我无法与用户一起访问共享文件夹,我已经以root chmod 777用户身份登录并使用过,甚至将用户移动到了文件夹的组中。

无论我做什么,结果都是一样的:

/media/sf_sharedFolder/: Permission denied

我能做什么?如何与用户访问共享文件夹?

Answers:


853

将您自己添加到vboxsf来宾VM中的组中。

解决方案1

sudo adduser $USER vboxsf从终端运行。
(在Suse上sudo usermod --append --groups vboxsf $USER

要生效,您应该先注销然后再登录,否则您可能需要重新启动。

解决方案2

编辑文件/etc/group(您将需要root特权)。查找该行vboxsf:x:999并在末尾添加:yourusername-如果您没有sudo,请使用此解决方案。

要生效,您应该先注销然后再登录,否则您可能需要重新启动。


97
FWIW,注销并登录足以使更改生效。
3c71 '16

12
谢谢,对我而言,它只是缺少重启部分。
佩德罗·里斯

5
FWIW,因为您已经在注释行中,所以无需注销和重新登录。只需卸载共享并再次安装。托管VirtualBox>设备>共享文件夹>将鼠标悬停在您共享的文件夹上以查看工具提示信息。例如:(sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName此功能需要客人添加)。
firepol '17

10
我使用Ubuntu 17.04作为来宾,使用Windows 10作为主机OS(均为64位),由于某种原因,它直到重新启动来宾后才起作用。我使用了解决方案
Alex

14
与@Alex的结果相同,使用Win7作为主机,使用Ubuntu 17.04作为来宾,将用户添加到vboxsf并登录/注销是不够的,要使权限生效,必须完全重新引导虚拟机。
休·诺兰

193

尝试以下操作(在客户机上,即在“虚拟”框中运行的操作系统):

sudo adduser your-user vboxsf

现在,重新启动在虚拟框中运行的操作系统。


8
非常感谢!!工作得很好。唯一要补充的是,我不得不重新启动操作系统(没有尝试只是注销但它可能就足够了)
Osmar

2
su-甚至不需要注销/登录-$ USER就足够了。(当然,这些程序是从新外壳启动的。)
tzp

2
对于我想做的事情,需要重新启动。如果您希望它是自动的,而不是基于手动安装,则重新启动会更容易。
J. Martin

51

这也有效

sudo usermod -aG <group> <user>

然后重启vm


1
无需重新启动
虚拟机

8
在我的系统上,由于某种原因需要重新启动。
Tensigh

1
我第二个@Tensigh。尽管我的用户显示在/ etc / group中,但从未输入出现groups。我必须重启虚拟机。
詹姆斯·史鲁姆

37

对于真正的懒惰(无需键入,只能完全轻松地复制和粘贴):

sudo usermod -aG vboxsf $USER

注销并重新登录以使更改生效。

我知道这是一个“我也是”的解决方案,但是我确实很懒惰,没有找到其他方法来吸引我的天生冷漠... :)


2
注销无济于事,我必须重新启动它。
CodyChan

在VirtualBox中6.1以上使用利用Ubutun 18.04.xLTS要求重新启动
crajun

10

对于VirtualBox(5.0.24)主机= Mac(El Capitan)和Guest = RHEL(7.2)

启动RHEL Guest VM,然后打开一个终端。确保已安装开发人员工具。

sudo yum groupinstall 'Developer Tools'

以及内核头文件包,以便Guest Additions脚本可以更新您的内核。

sudo yum install kernel-devel*

有了前提条件后,就可以安装Guest Additions了。随着你正在运行的VM选择去VirtualBox的菜单,并选择设备- >插入客户添置CD映像...

在此处输入图片说明

等待几秒钟以进行安装并启动安装脚本。他们单击来宾虚拟机中弹出的对话框中的“运行”按钮。

脚本完成后,右键单击桌面上的CD图标,然后选择弹出。然后关闭来宾VM。

使用终端在主机系统中创建Shared文件夹,通常将其放在我的Documents文件夹中,并确保您的用户可以访问它。

sudo mkdir ~/Documents/RhelShared
sudo chmod 755 <user> ~/Documents/RhelShared

在Oracle VM Virtual Box Manager中,选择您的VM,然后单击“共享文件夹”配置元素。在下一个对话框中,单击“文件夹列表”右侧的“添加文件夹”图标。

然后,在弹出窗口中,选择刚创建的主机文件夹作为文件夹路径,并为它提供一个由来宾VM使用的文件夹名称,同时勾选“自动挂载”复选框。

在此处输入图片说明

重新启动Guest VM后,在主机上启动一个终端,并检查与正在运行的VirtualBox Guest进程关联的用户是您的用户(很可能是该用户),还是属于有权访问Shared文件夹的组中的用户。

ps aux | grep VirtualBoxVM

然后,根据来宾VM上终端中以前的几个答案,将您的用户添加到vboxsf组。

sudo usermod -a -G vboxsf <user>

注销并再次登录以获取更改。

现在,假设您使用的名称与我在上面的弹出窗口中使用的名称相同,共享文件夹现在应该可以使用sf_rhelshared进行访问。



1

问题在于,默认情况下,共享文件夹的权限设置为不允许符号链接。您可以通过几个简单的步骤启用它们。

  1. 关闭虚拟机。
  2. 在以下位置记下您的机器名称 Machine > Settings > General > Name
  3. 在“计算机>设置>共享文件夹”中记下共享文件夹的名称。
  4. 找到您的VirtualBox根目录,然后执行以下命令。VBoxManage setextradata“” VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. 启动虚拟机,共享文件夹现在将允许符号链接。


-2

将用户添加到vboxsf组后,您可能需要完全退出gnome / xfce / ???。会话,因为很早以前有人决定应在首次登录窗口系统时缓存组隶属关系。

或去老学校:

% newgrp vboxsf

在您要用于访问该文件夹的任何外壳程序中。幸运的是,newgrp会自行查找组列表,并且不使用缓存的值。您仍然需要注销然后再登录才能从非Shell文件夹访问该文件夹。


-4

以我个人的经验,很难在VirtualBox中启用共享文件夹,但这是可能的。我在Windows 10主机中安装了Debian Buster来宾虚拟机。

我不完全知道它是做什么的,但是我记得我去过Windows Defender,这是我的防病毒软件,以查看他们是否将VirtualBox识别为程序而不是病毒。之后,我在文档文件上单击鼠标右键并允许共享文件夹,然后单击其中的一些按钮并接受与Windows 10中的组和muy用户共享。

另外,我在Windows网页上找到了关于虚拟机之类的东西,但我记不清了,但是我把它带到了面板上,不得不更改双击的三项内容,以便在更新Windows时它可以识别我的虚拟机。另外,在muy debian的终端中,使用一些命令行,muy VirtualBox会根据Ubuntu论坛中的一些信息识别出我的用户正在授予权限。我把所有我记得的东西都放了。

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.