关闭。此问题不符合 Stack Overflow 准则。它目前不接受答案。我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 Stack Overflow 的主题。去年关闭。改进这个问题
我将 Windows 和 Virtualbox 与 RedHat 一起使用,简单地说:我创建了一个共享文件夹,这样我就可以在我的 Windows 操作系统上使用 Eclipse 并在 Linux 中进行一些测试。
但是,我无法使用我的用户访问共享文件夹,我已经使用 root 登录并使用了 chmod 777
,甚至将我的用户移动到了该文件夹的组。
无论我做什么,结果都是一样的:
/media/sf_sharedFolder/: Permission denied
我能做些什么?如何与我的用户访问共享文件夹?
将您自己添加到来宾 VM 中的 vboxsf
组。
解决方案 1
从终端运行 sudo adduser $USER vboxsf
。
(在 Suse 上是 sudo usermod --append --groups vboxsf $USER
)
要生效,您应该注销然后登录,或者您可能需要重新启动。
解决方案 2
编辑文件 /etc/group
(您需要 root 权限)。查找行 vboxsf:x:999
并在末尾添加 :yourusername
- 如果您没有 sudo,请使用此解决方案。
要生效,您应该注销然后登录,或者您可能需要重新启动。
试试这个(在来宾机器上。即在虚拟框中运行的操作系统):
sudo adduser your-user vboxsf
现在重新启动在虚拟框中运行的操作系统。
sudo usermod -aG <group> <user>
,但注销不起作用,只能重新启动
这也有效
sudo usermod -aG <group> <user>
然后重启vm
groups
显示。我不得不重新启动虚拟机。
对于真正懒惰的人(无需打字,只需完全简单的复制和粘贴):
sudo usermod -aG vboxsf $USER
注销并重新登录以使更改生效。
我知道这是一个“我也是”的解决方案,但我真的很懒惰,没有找到任何其他解决方案来吸引我与生俱来的冷漠...... :)
对于 VirtualBox(5.0.24) Host=Mac(El Capitan) 和 Guest=RHEL(7.2)
启动您的 RHEL 访客虚拟机并打开一个终端。确保您已安装开发人员工具。
sudo yum groupinstall 'Developer Tools'
和内核头文件包,以便来宾添加脚本可以更新您的内核。
sudo yum install kernel-devel*
一旦您有了先决条件,就可以安装来宾添加。选择您正在运行的 VM 后,转到 VirtualBox 菜单并选择 Devices --> Insert Guest Additions CD image...
https://i.stack.imgur.com/SrXHK.png
等待几秒钟以进行安装并启动安装脚本。一旦他们在您的来宾虚拟机中弹出的对话框中单击“运行”按钮。
脚本完成后,右键单击桌面上的 CD 图标并选择弹出。然后关闭来宾虚拟机。
使用终端在您的主机系统中创建共享文件夹,我通常将它放在我的文档文件夹中,并确保您的用户可以访问它。
sudo mkdir ~/Documents/RhelShared
sudo chmod 755 <user> ~/Documents/RhelShared
在 Oracle VM Virtual Box Manager 中选择您的 VM,然后单击“共享文件夹”配置元素。在下一个对话框中,单击文件夹列表右侧的添加文件夹图标。
然后在弹出窗口中选择您刚刚创建的主机文件夹作为文件夹路径,并为其指定将由来宾 VM 使用的文件夹名称,同时勾选“自动挂载”复选框。
https://i.stack.imgur.com/sTGS5.png
重新启动来宾虚拟机后,在主机上启动一个终端,并检查与正在运行的 VirtualBox 来宾进程关联的用户是您的用户,很可能是您的用户,或者是可以访问共享文件夹的组中的用户。
ps aux | grep VirtualBoxVM
然后根据来宾 VM 上的终端中的几个先前答案,将您的用户添加到 vboxsf 组。
sudo usermod -a -G vboxsf <user>
注销并再次登录以获取更改。
假设您使用的名称与我在上面的弹出窗口中使用的名称相同,那么共享文件夹现在应该可以作为 sf_rhelshared 访问。
为了澄清最后一个帖子:
VBoxManage 命令是:
VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1
sudo adduser xxxxxxx vboxsf
其中 xxxxxx 是您的用户帐户名称。注销并重新登录到 Ubuntu。
在我的情况下,以下是必要的:
sudo chgrp vboxsf /media/sf_sharedFolder
问题是共享文件夹的权限默认设置为不允许符号链接。您可以通过几个简单的步骤启用它们。
关闭虚拟机。在机器 > 设置 > 常规 > 名称中记下您的机器名称 在“机器 > 设置 > 共享文件夹”中记下您的共享文件夹名称 找到您的 VirtualBox 根目录并执行以下命令。 VBoxManage setextradata "[vm name]" VBoxInternal2/SharedFoldersEnableSymlinksCreate/[shared folder] 1 启动虚拟机,共享文件夹现在将允许符号链接。
将用户添加到 vboxsf 组后,您可能需要完全退出 gnome/xfce/??? session,因为很久以前有人决定在第一次登录窗口系统时应该缓存组从属关系。
或者去老学校:
% newgrp vboxsf
在您要用于访问该文件夹的任何外壳中。幸运的是,newgrp 为自己查找组列表并且不使用缓存的值。您仍然需要注销并重新登录才能从 shell 以外的其他东西访问该文件夹。
以我个人的经验,在 VirtualBox 中启用共享文件夹很困难,但它是可行的。我的 Windows 10 主机中安装了一个 debian Buster 来宾虚拟机。
我不知道到底是怎么回事,但我记得我去了 Windows Defender,我的防病毒软件,看看他们是否将 VirtualBox 识别为程序而不是病毒。之后,我右键单击文档文件并允许共享文件夹,然后单击那里的一些按钮并接受与 Windows 10 中的组和 muy 用户共享。
此外,我还发现了一个关于虚拟机的 Windows 网页,我记不太清了,但它把我带到了一个面板,我不得不双击更改三件事,所以当我更新 Windows 时,它会识别我的虚拟机。此外,在 muy debian 中,在终端中,使用一些命令行,muy VirtualBox 识别出我的用户授予权限,我基于 Ubuntu 论坛中的一些信息。我把所有我记得的东西。
不定期副业成功案例分享
sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName
(此功能需要添加访客)。