2013-07-27 2 views
17

Я создал linux (Centos) на своем виртуальном поле. Когда я SSH к нему, и я пытаюсь создать символическую ссылку (на моей общей папке с полным доступом):Создание символической ссылки: Ошибка протокола

ln -s path/folder/example myFolder 

Я получаю сообщение об ошибке:

ln: creating symbolic link `myFolder': Protocol error 

Есть ли какой-либо причине или решение этой проблемы?

+0

в состоянии решить эту проблему, были вы? Я также вижу аналогичную проблему 'root @ 57856515e02b:/artifacts/test/install/lib # ln -s /usr/share/tcltk/tcl8.5/artifacts/test/install/lib/ ln: не удалось создать символическую ссылку '/artifacts/test/install/lib/tcl8.5': Ошибка протокола' –

ответ

13

Это проблема с файловой системой хоста. Проверьте права доступа к папке хоста, и файловая система хоста поддерживает символические ссылки.

+0

Хост-система - это окна 7. Есть ли какое-нибудь решение для ее включения? –

+4

Плохое решение для этого - создать символические ссылки в Windows 7 с помощью mklink. Пример: mklink/D myFolder path/folder/example –

+0

, из которого появляется API/уровень от сообщения «Ошибка протокола»? – n611x007

17

Щелкните правой кнопкой мыши на командной строке и «Запуск от имени администратора» (или любую другую программу, которую вы используете, чтобы эти символические ссылки нужно запускать как администратор).

+0

Это для системы Linux, что означает «Командная строка». – Signus

+6

На самом деле ошибки протокола при создании символических ссылок являются общими для виртуальных ящиков, работающих в окнах. Запуск оболочки в качестве администратора обычно исправляет проблему. – baaj

+0

У меня была аналогичная проблема, но когда вы запускаете VM в качестве администратора, вы сможете создавать символические ссылки. Для получения дополнительной информации см. Также http://stackoverflow.com/a/28674584/1494559 – np20

8

Вот решение в билете на virtualbox.org: https://www.virtualbox.org/ticket/10085#comment:32 (Примечание: Выполнить "Whoami/собств" в консоли с правами администратора)

I have done some Windows research on this bug.

If your user is of the Administrator type (rather than a Standard account), there's no way to run VB with symlinks working without the UAC prompt.

If you have a Standard user account (or if you are willing to switch your account to Standard and create a separate Admin account), the solution exists. You will, however, need admin privileges to accomplish several of the steps (not necesarrily for your user account).

  1. Run the Local Security Policy (Win+R, type "secpol.msc", confirm UAC). Then navigate to "Local Policies->User Rights Assignment".
  2. Find the permission called "Create symbolic links" and double-click it. Add your user to the list of objects having this permission. Or you can add the "Users" group. Log off and log on. You can check the success by running in console:

    whoami /priv 
    

    If you see the privilege SeCreateSymbolicLinkPrivilege enabled, you've done well.

  3. Make sure your user has proper access to the shared folder on host system.

  4. As mentioned here earlier, execute

    VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1 
    

    in a console from the C:\Program Files\VirtualBox folder. Don't forget to substitute VM_NAME with the name of your VM and SHARE_NAME with the name of the shared folder (as it appears in the VM settings).

  5. You're done.

If you happen to own one of the "lesser" version of windows (e.g. 7 Home), you don't have the "secpol.msc" utility. See How do I grant SeCreateSymbolicLink on Windows Vista Home edition for help.

+0

Спасибо, используйте secpol.msc и предоставил мне приват. Работала отлично. – partyd

+0

Спасибо, что работали для меня – abulbul

-2

найти файл cmd.exe. Щелкните правой кнопкой мыши на cmd.exe. Выберите опцию «Запуск от имени администратора». Он должен работать отлично.

+1

Вы, кажется, смущены; почему вы ожидаете, что в поле CentOS будет 'cmd.exe', и как вы ожидаете, что« Правый клик »будет выполнен в сеансе SSH? –

1

Как я понимаю, Windows VirtualBox хостов не поддерживает ссылки (от https://www.virtualbox.org/manual/ch04.html#sharedfolders)

Starting with version 4.0, VirtualBox shared folders also support symbolic links (symlinks), under the following conditions:

The host operating system must support symlinks (i.e. a Mac, Linux or Solaris host is required).

Currently only Linux and Solaris Guest Additions support symlinks.

For security reasons the guest OS is not allowed to create symlinks by default. If you trust the guest OS to not abuse the functionality, you can enable creation of symlinks for "sharename" with:

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

Смежные вопросы