创build符号链接:协议错误

我在我的虚拟盒子上创build了Linux(Centos)。 当我ssh到它,我尝试创build符号链接(在我的共享文件夹具有完全访问权限):

ln -s path/folder/example myFolder 

我收到错误:

 ln: creating symbolic link `myFolder': Protocol error 

这有什么理由或解决办法?

这是主机文件系统的问题。 检查主机文件夹上的权限是否合适,主机文件系统是否支持符号链接。

右键单击您的命令提示符,然后选择“以管理员身份运行”(或者您正在使用的任何程序来使这些符号链接需要作为管理员运行)。

以下是virtualbox.org上的解决方案: https ://www.virtualbox.org/ticket/10085#comment: 32 (注意:在具有管理权限的控制台中执行“whoami / priv”)

我已经做了一些关于这个bug的Windows研究。

如果您的用户是管理员类型(而不是标准帐户),则无法在没有UAC提示符的情况下运行符号链接的VB。

如果您有一个标准用户帐户(或者如果您愿意将您的帐户切换到标准并创建一个单独的管理员帐户),则存在解决方案。 但是,您将需要管理员权限才能完成几个步骤(并非针对您的用户帐户)。

  1. 运行本地安全策略(Win + R,键入“secpol.msc”,确认UAC)。 然后导航到“本地策略 – >用户权限分配”。
  2. 找到名为“创建符号链接”的权限并双击它。 将您的用户添加到具有此权限的对象列表中。 或者你可以添加“用户”组。 注销并登录。 您可以通过在控制台中运行来检查成功:

     whoami /priv 

    如果您看到启用SeCreateSymbolicLinkPrivilege权限,则表示您已经完成。

  3. 确保您的用户能够正确访问主机系统上的共享文件夹。

  4. 如前所述,执行

     VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1 

    在C:\ Program Files \ VirtualBox文件夹的控制台中。 不要忘记用虚拟机和SHARE_NAME的名称替换VM_NAME,使用共享文件夹的名称(如虚拟机设置中所示)。

  5. 你完成了。

如果您碰巧拥有“较小”版本的Windows(例如7 Home)之一,则您没有“secpol.msc”实用程序。 请参阅如何在Windows Vista Home Edition上授予SeCreateSymbolicLink的帮助。

据我所知,Windows VirtualBox主机不支持链接(从https://www.virtualbox.org/manual/ch04.html#sharedfolders

从版本4.0开始,VirtualBox共享文件夹还支持符号链接(符号链接),在以下情况下:

主机操作系统必须支持符号链接(即需要Mac,Linux或Solaris主机)。

目前只有Linux和Solaris Guest Addition支持符号链接。

出于安全原因,来宾操作系统默认情况下不允许创建符号链接。 如果您相信客户操作系统不会滥用该功能,则可以通过以下操作启用“sharename”的符号链接创建:

VBoxManage setextradata“VM名称”VBoxInternal2 / SharedFoldersEnableSymlinksCreate / sharename 1

找到cmd.exe文件。 右键单击cmd.exe。 选择“以管理员身份运行”菜单选项。 它应该完美地工作。