게스트 OS가 공유 폴더에서 심볼릭 링크를 따르도록 만드는 방법


18

VirtualBox 4.2.16에서 Ubuntu Desktop을 기본 OS로, Ubuntu Server를 게스트 OS로 사용합니다.

/ shared라는 공유 폴더를 만들고 주 OS의 다른 폴더에 여러 심볼릭 링크를 넣었습니다. 물론 게스트 OS에는 깨진 심볼릭 링크 만 표시됩니다.이 위치는 기본 OS에만 존재하기 때문입니다.

게스트 OS에서 실제 컨텐츠를 볼 수있게하려면 어떻게해야합니까?

다른 공유 폴더를 만드는 것은 옵션이 아닙니다.


1
참고로 호스트가 windows7,8,10 인 경우 답변의 지침을 따르고이 블로그 게시물에서 볼 수 있듯이 심볼릭 링크가있는 Linux 게스트 VM 공유 폴더에 대한 VM ( "관리자 권한으로 실행") 시작하십시오 . Windows 호스트 .
Trevor Boyd Smith

답변:


23

virtualBox의 문제이며 보안과 관련이 있습니다. 4.1.8 이전에는 심볼릭 링크가 작동했지만 심각하게 결함이있었습니다. 그리고 심볼릭 링크 지원을 제거하기로 결정했습니다.

이 의견보기 :

보안상의 이유로 게스트 내에서 심볼릭 링크 생성이 VirtualBox 4.1.8에서 비활성화되었습니다. 게스트는 할당 된 호스트 디렉토리 외부를 가리키는 심볼릭 링크를 만들 수 있습니다. 이것은 ext3 / ext4 버그와 관련이 없습니다. 그리고 게스트는 여전히 호스트에서 생성 된 심볼릭 링크를 읽을 수 있습니다.

성명서가 유감입니다.

당신이 할 경우

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

그러면 손님이 심볼릭 링크를 다시 만들 수 있습니다. 그러나 보안상의 이유로 (위 참조) 기본적으로 비활성화되어 있습니다. 게스트에서 위험한 심볼릭 링크를 방지하기위한 수정은 매우 복잡하므로 게스트가 보안 문제를 해결하기 위해 심볼릭 링크를 만들지 않기로 결정했습니다.

(나는 의견에서 버그를 수정하기 위해 자유를 취했다)

  • 또한 변경 사항을 활성화하려면 vBox다시 시작 해야합니다 .

이 명령을 실행하고 VB를 다시 시작했습니다. 심볼릭 링크의 색상이 변경되었지만 이제는 CD로 들어갈 수 없습니다. ls를 사용할 때 그것을 보았지만 bash는 TAB에서 표시를 중단했습니다.
dev9

흠 실행 불가능한 것 같습니까?
Rinzwind

글쎄, ls는 lrwxrwx를 보여 주므로 괜찮을 것입니다. CD를 넣으려고 할 때 bash는 그러한 파일이나 디렉토리를 알려주지 않습니다.
dev9

3
SHARE_NAME이란 무엇입니까? 아무도 우리가 어디에서 그것을 명확하게 설명하지 못합니다.
Meglio

3
공유에 사용하는 폴더입니다.
Rinzwind

1

짧은 대답은 할 수 없다는 것입니다.

virtualbox.org 의 다음 티켓 에 대한 설명이 있습니다.

이 변경은 의도적 인 것이며 현재 공유 폴더 구현과 관련된 문제를 해결합니다. 심볼릭 링크가 무엇인지 모르는 게스트 OS와의 호환성을 위해 현재 호스트 측에서 해석되는 게스트 OS와의 예기치 않은 동작을 의미합니다 (예 : 공유 폴더의 심볼릭 링크가 마운트 된 경우) / foo에서 / bar / file을 가리키면 호스트 측에서 올바른 작업을 수행하는 것이 불가능합니다.

물론 수정할 수는 있지만 게스트 OS 측과 호스트 측 사이의 심볼릭 링크 처리를 재 설계해야하므로 사소한 문제는 아닙니다. 이 작업은 빠르게 수행 할 수 없으므로 유일한 옵션은 symlink 생성을 비활성화하는 것입니다. 비표준 동작으로 인해 너무 많은 사용자 / 응용 프로그램이 발견되었습니다.

출처

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.