web-dev-qa-db-ja.com

シンボリックリンクの作成:プロトコルエラー

私は自分の仮想ボックスにLinux(Centos)を作成しました。 sshにアクセスして、シンボリックリンクを作成しようとすると(フルアクセスで共有フォルダーに):

ln -s path/folder/example myFolder

エラーが発生します:

ln: creating symbolic link `myFolder': Protocol error

これには何らかの理由や解決策がありますか?

29
TroodoN-Mike

ホストファイルシステムに問題があります。ホストフォルダーのアクセス許可が適切であり、ホストファイルシステムがシンボリックリンクをサポートしていることを確認してください。

19
Paul Dixon

コマンドプロンプトを右クリックし、[管理者として実行](またはこれらのシンボリックリンクを作成するために使用しているプログラムはすべて、管理者として実行する必要があります)。

25
Angela Zenner

Virtualbox.orgのチケットのソリューションは次のとおりです。 https://www.virtualbox.org/ticket/10085#comment:32 (注:コンソールで「whoami/priv」を管理者権限で実行します)

このバグについて、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フォルダーのコンソールで。 VM_NAMEをVMの名前で置き換え、SHARE_NAMEを共有フォルダーの名前で置き換えることを忘れないでください(VM設定)に表示されます)。

  5. できました。

Windowsの「より低い」バージョンのいずれか(7 Homeなど)を所有している場合、「secpol.msc」ユーティリティはありません。 Windows Vista HomeエディションでSeCreateSymbolicLinkを付与するにはどうすればよいですか を参照してください。

20
Hector GR

私が理解しているように、Windows VirtualBoxホストはリンクをサポートしていません( https://www.virtualbox.org/manual/ch04.html#sharedfolders から)

バージョン4.0以降、VirtualBoxの共有フォルダーは、次の条件下でシンボリックリンク(シンボリックリンク)もサポートします。

ホストオペレーティングシステムはシンボリックリンクをサポートする必要があります(つまり、Mac、Linux、またはSolarisホストが必要です)。

現在、LinuxおよびSolaris Guest Additionsのみがシンボリックリンクをサポートしています。

セキュリティ上の理由から、ゲストOSはデフォルトでシンボリックリンクを作成できません。ゲストOSが機能を悪用しないと信頼している場合は、次を使用して「sharename」のシンボリックリンクの作成を有効にできます。

VBoxManage setextradata "VM name" VBoxInternal2/SharedFoldersEnableSymlinksCreate/sharename 1

3
cancerbero