ChatGPT解决这个技术问题 Extra ChatGPT

Virtualbox共享文件夹权限[关闭]

关闭。此问题不符合 Stack Overflow 准则。它目前不接受答案。我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为 Stack Overflow 的主题。去年关闭。改进这个问题

我将 Windows 和 Virtualbox 与 RedHat 一起使用,简单地说:我创建了一个共享文件夹,这样我就可以在我的 Windows 操作系统上使用 Eclipse 并在 Linux 中进行一些测试。

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

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

/media/sf_sharedFolder/: Permission denied

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


A
Alexander Malakhov

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

解决方案 1

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

要生效,您应该注销然后登录,或者您可能需要重新启动。

解决方案 2

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

要生效,您应该注销然后登录,或者您可能需要重新启动。


FWIW,注销并登录就足以使更改生效。
谢谢,对我来说,它只是缺少重启部分。
FWIW,由于您已经在评论行中,因此无需注销并重新登录。只需卸载共享并重新安装即可。主机 VirtualBox >设备 >共享文件夹 >将鼠标悬停在您共享的文件夹上以查看工具提示信息。例如:sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(此功能需要添加访客)。
我使用 Ubuntu 17.04 作为来宾,使用 Windows 10 作为主机操作系统(均为 64 位),由于某种原因,它在我重新启动来宾之前无法正常工作。我使用了解决方案 2。
与@Alex 这里的结果相同,使用 Win7 作为主机,Ubuntu 17.04 作为访客,将用户添加到 vboxsf 和登录/注销是不够的,需要完全重启虚拟机才能使权限生效。
N
Nav

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

sudo adduser your-user vboxsf

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


非常感谢!!工作得很好。唯一要补充的是我必须重新启动操作系统(没有尝试只是注销但它可能就足够了)
甚至不需要注销/登录,su - $USER 就足够了。 (当然,对于从新 shell 启动的程序。)
对于我想做的事情,需要重新启动。如果您希望它是自动的而不是基于您手动安装,那么重新启动会更容易。
在 Fedora 36 上,我不得不改用 sudo usermod -aG <group> <user>,但注销不起作用,只能重新启动
我还必须在 Ubuntu 18 上重新启动。注销并重新登录并没有这样做。卸载和重新安装没有这样做。只有重新启动似乎才能使其工作。
p
phuclv

这也有效

sudo usermod -aG <group> <user>

然后重启vm


不需要重新启动虚拟机,只需注销并重新启动
在我的系统上,由于某种原因需要重新启动。
我第二个@Tensigh。尽管我的用户显示在 /etc/group 中,但它从未通过键入 groups 显示。我不得不重新启动虚拟机。
谢谢,重新启动是它为我工作的原因。
I
ISparkes

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

sudo usermod -aG vboxsf $USER

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

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


注销没有帮助,我必须重新启动它。
使用 Ubutun 18.04.xLTS 在 VirtualBox 6.1 中使用上述需要重新启动
T
TJA

对于 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 访问。


I
Ian Owens

为了澄清最后一个帖子:

VBoxManage 命令是:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1

希望我早点看到这个!在另一个帖子中找到它。此命令允许在来宾系统中创建符号链接。谢谢你。
D
Devesh Sharma
sudo adduser xxxxxxx vboxsf

其中 xxxxxx 是您的用户帐户名称。注销并重新登录到 Ubuntu。


或者干脆“sudo adduser $USER vboxsf”让系统自动读取用户名
J
James Hirschorn

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

sudo chgrp vboxsf /media/sf_sharedFolder

C
Community

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

关闭虚拟机。在机器 > 设置 > 常规 > 名称中记下您的机器名称 在“机器 > 设置 > 共享文件夹”中记下您的共享文件夹名称 找到您的 VirtualBox 根目录并执行以下命令。 VBoxManage setextradata "[vm name]" VBoxInternal2/SharedFoldersEnableSymlinksCreate/[shared folder] 1 启动虚拟机,共享文件夹现在将允许符号链接。


您的说明中似乎没有使用第 3 步,第 4 步会产生错误。
S
Stephen Rauch

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

或者去老学校:

% newgrp vboxsf

在您要用于访问该文件夹的任何外壳中。幸运的是,newgrp 为自己查找组列表并且不使用缓存的值。您仍然需要注销并重新登录才能从 shell 以外的其他东西访问该文件夹。


M
MaartenDev

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

我不知道到底是怎么回事,但我记得我去了 Windows Defender,我的防病毒软件,看看他们是否将 VirtualBox 识别为程序而不是病毒。之后,我右键单击文档文件并允许共享文件夹,然后单击那里的一些按钮并接受与 Windows 10 中的组和 muy 用户共享。

此外,我还发现了一个关于虚拟机的 Windows 网页,我记不太清了,但它把我带到了一个面板,我不得不双击更改三件事,所以当我更新 Windows 时,它会识别我的虚拟机。此外,在 muy debian 中,在终端中,使用一些命令行,muy VirtualBox 识别出我的用户授予权限,我基于 Ubuntu 论坛中的一些信息。我把所有我记得的东西。


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅