我在RedHat上使用Windows和Virtualbox,简单来说:我已经创建了一个共享文件夹,这样我就可以在Windows操作系统上使用Eclipse,并在Linux上做一些测试。

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

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

/media/sf_sharedFolder/:拒绝权限

我该怎么办?如何使用我的用户访问共享文件夹?


当前回答

试试这个(在客户机器上)。即虚拟机中运行的操作系统):

sudo adduser your-user vboxsf

现在重新启动虚拟机中的操作系统。

其他回答

将用户添加到vboxsf组后,您可能需要完全注销gnome/xfce/??会话,因为很久以前有人决定在第一次登录到窗口系统时缓存组从属关系。

或者走老路:

% newgrp vboxsf

在您想要用来访问文件夹的任何shell中。幸运的是,newgrp自己查找组列表,不使用缓存的值。您仍然需要登出并重新登录才能从shell以外的其他工具访问该文件夹。

将自己添加到来宾虚拟机中的vboxsf组。

解决方案1

在终端执行sudo adduser $USER vboxsf命令。 (sudo usermod——append——groups vboxsf $USER)

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

解决方案2

编辑文件/etc/group(您需要root权限)。寻找行vboxsf:x:999,并在最后添加:yourusername -如果你没有sudo,使用这个解决方案。

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

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

启动您的RHEL Guest VM并打开一个Terminal。确保您已经安装了开发人员工具。

sudo yum groupinstall 'Developer Tools'

和内核头包,以便客户添加脚本可以更新内核。

sudo yum install kernel-devel*

一旦你有了先决条件,就该安装附加功能了。选择运行中的虚拟机,进入VirtualBox菜单,选择“设备”—>插入客户附加功能CD镜像…

等待几秒钟进行挂载并启动安装脚本。一旦他们在弹出的对话框中点击“运行”按钮。

脚本完成后,右键单击桌面上的CD图标,选择“弹出”。然后关闭Guest虚拟机。

在你的主机系统使用终端创建共享文件夹,我通常把它放在我的文档文件夹,并确保你的用户可以访问它。

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

在Oracle虚拟机虚拟框管理器中选择您的虚拟机,然后单击“共享文件夹”配置元素。在下一个对话框中,单击文件夹列表右侧的“添加文件夹”图标。

然后在弹出窗口中选择刚刚创建的主机文件夹作为文件夹路径,并为其指定一个客户虚拟机将使用的文件夹名称,同时勾选“自动挂载”复选框。

重启Guest VM后,在主机上启动终端,检查与正在运行的VirtualBox Guest进程相关联的用户是您的用户(很可能是您的用户),还是在访问共享文件夹的组中。

ps aux | grep VirtualBoxVM

然后根据之前在Guest VM上的Terminal中的几个答案,将您的用户添加到vboxsf组。

sudo usermod -a -G vboxsf <user>

退出并再次登录以获取更改。

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

对于真正懒惰的人(没有打字,只有完全简单的复制和粘贴):

sudo usermod -aG vboxsf $USER

登出并重新登录以激活更改。

我知道这是一个“我也是”的解决方案,但我真的很懒,没有找到任何其他解决方案来吸引我天生的冷漠……:)

在我的情况下,以下是必要的:

sudo chgrp vboxsf /media/sf_sharedFolder