Cách đặt Hệ điều hành khách theo liên kết tượng trưng từ thư mục dùng chung


18

Tôi có Ubuntu Desktop là HĐH chính và Ubuntu Server là HĐH khách của tôi trong VirtualBox 4.2.16.

Tôi đã tạo một thư mục chia sẻ được gọi là / chia sẻ và đặt trong đó một số liên kết tượng trưng đến các thư mục khác nhau trên hệ điều hành chính của tôi. Tất nhiên, hệ điều hành khách của tôi chỉ thấy các liên kết tượng trưng bị hỏng - vì các vị trí này chỉ tồn tại trong hệ điều hành chính.

Làm cách nào tôi có thể làm cho Hệ điều hành khách của mình thấy nội dung thực tế của chúng?

Tạo một thư mục chia sẻ khác không phải là một lựa chọn.


1
FYI nếu máy chủ của bạn là windows7,8,10 thì bạn cần phải làm theo các hướng dẫn trong câu trả lời VÀ sau đó sudo khởi động VM (còn gọi là "chạy với tư cách quản trị viên") như đã thấy trong bài đăng trên blog này về các thư mục chia sẻ máy khách linux với symlink trên cửa sổ máy chủ .
Trevor Boyd Smith

Câu trả lời:


23

Đây là một vấn đề trong virtualBox và phải làm với bảo mật. Trước khi 4.1.8 symlink hoạt động nhưng đã bị thiếu sót nghiêm trọng. Và sự cắt bỏ đã được thực hiện để loại bỏ hỗ trợ symlink.

Xem bình luận này :

Tạo liên kết tượng trưng từ bên trong một khách đã bị vô hiệu hóa trong VirtualBox 4.1.8 vì lý do bảo mật. Một khách có thể tạo các liên kết tượng trưng mà chỉ ra bên ngoài thư mục máy chủ được chỉ định. Điều này không có gì để làm với bất kỳ lỗi ext3 / ext4. Và khách vẫn có thể đọc các liên kết tượng trưng được tạo trên máy chủ.

Xin lỗi vì tuyên bố muộn.

Nếu bạn làm

 VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1

Sau đó, khách của bạn sẽ có thể tạo liên kết tượng trưng một lần nữa. Nhưng vì lý do bảo mật (xem ở trên), điều này bị tắt theo mặc định. Việc khắc phục để ngăn chặn các liên kết tượng trưng nguy hiểm từ khách rất phức tạp, do đó chúng tôi quyết định không cho phép bất kỳ khách nào tạo bất kỳ liên kết tượng trưng nào để khắc phục sự cố bảo mật.

(Tôi đã lấy tự do để sửa một lỗi trong bình luận;))


Tôi đã thực hiện lệnh này và khởi động lại VB. Màu sắc của symlink đã thay đổi, nhưng bây giờ tôi thậm chí không thể cd vào nó. Tôi thấy nó khi tôi sử dụng ls, nhưng bash đã dừng hiển thị cho tôi trên TAB.
dev9

Hmm có vẻ như không thể thực thi?
Rinzwind

Chà, tôi cho tôi xem lrwxrwx ---, vậy là ổn rồi. Khi tôi cố gắng cd vào nó, bash cho tôi biết không có tập tin hoặc thư mục như vậy.
dev9

3
SHARE_NAME là gì? Không ai giải thích rõ ràng chúng ta lấy nó ở đâu.
Meglio

3
Thư mục bạn sử dụng để chia sẻ.
Rinzwind 14/07/2015

1

Câu trả lời ngắn gọn là không thể thực hiện được.

sau đây trên virtualbox.org có một số giải thích rõ ràng:

Thay đổi này là có chủ ý và khắc phục sự cố với việc triển khai các thư mục dùng chung hiện tại. Để tương thích với các HĐH khách không có ý tưởng gì về liên kết tượng trưng tại thời điểm hiện tại được giải thích ở phía máy chủ và điều này có nghĩa là người ta có hành vi bất ngờ với các HĐH khách biết liên kết tượng trưng là gì (ví dụ: nếu liên kết tượng trưng trên thư mục dùng chung tại / foo sẽ trỏ đến / bar / tập tin, không thể thực hiện đúng công việc ở phía máy chủ).

Tất nhiên là có thể sửa được, nhưng khác xa với việc phân tách xử lý liên kết tượng trưng giữa phía hệ điều hành khách và phía máy chủ cần được thiết kế lại. Điều này không thể được thực hiện nhanh chóng, vì vậy lựa chọn duy nhất là vô hiệu hóa việc tạo liên kết tượng trưng. Quá nhiều người dùng / ứng dụng đã bị bất ngờ bởi hành vi không chuẩn.

Nguồn

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.