【问题标题】:Virtualbox shared folder permissions [closed]Virtualbox共享文件夹权限[关闭]
【发布时间】:2014-11-04 16:25:26
【问题描述】:

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

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

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

/media/sf_sharedFolder/: Permission denied

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

【问题讨论】:

    标签: virtualbox shared-directory


    【解决方案1】:

    将自己添加到来宾 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 和登录/注销是不够的,需要完全重启虚拟机才能使权限生效。
    【解决方案2】:

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

    sudo adduser your-user vboxsf
    

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

    【讨论】:

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

    这也有效

    sudo usermod -aG <group> <user>
    

    然后重启虚拟机

    【讨论】:

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

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

    sudo usermod -aG vboxsf $USER
    

    注销并重新登录以激活更改。

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

    【讨论】:

    • 注销没有用,我必须重新启动它。
    • 使用Ubutun 18.04.xLTS在VirtualBox 6.1中使用上述需要重新启动
    【解决方案5】:

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

    启动您的 RHEL 访客虚拟机并打开一个终端。确保您已安装开发者工具。

    sudo yum groupinstall 'Developer Tools'
    

    还有内核头文件包,以便来宾添加脚本可以更新您的内核。

    sudo yum install kernel-devel*
    

    一旦您准备好先决条件,就可以安装 Guest Additions 了。 选择您正在运行的 VM 进入 VirtualBox 菜单并选择 Devices --> Insert Guest Additions CD image...

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

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

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

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

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

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

    重新启动来宾虚拟机后,在主机上启动一个终端并检查与正在运行的 VirtualBox 来宾进程关联的用户是您的用户,很可能是您的用户,或者是可以访问共享文件夹的组。

    ps aux | grep VirtualBoxVM
    

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

    sudo usermod -a -G vboxsf <user>
    

    注销并重新登录以获取更改。

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

    【讨论】:

      【解决方案6】:

      澄清最后的帖子:

      VBoxManage 命令是:

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

      【讨论】:

      • 希望我早点看到这个!在另一个帖子中找到它。此命令允许在来宾系统中创建符号链接。谢谢。
      【解决方案7】:

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

      sudo chgrp vboxsf /media/sf_sharedFolder
      

      【讨论】:

        【解决方案8】:

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

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

        【讨论】:

        • 您的说明中似乎没有使用第 3 步,第 4 步产生错误。
        【解决方案9】:
        sudo adduser xxxxxxx vboxsf
        

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

        【讨论】:

        • 或者干脆“sudo adduser $USER vboxsf”让系统自动读取用户名
        【解决方案10】:

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

        或者去老学校:

        % newgrp vboxsf
        

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

        【讨论】:

          【解决方案11】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-08-26
            • 1970-01-01
            • 2022-11-22
            • 2015-05-16
            • 2014-05-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多