Virtualbox chia sẻ quyền thư mục


427

Tôi đang sử dụng Windows và Virtualbox với RedHat, nói một cách đơn giản: Tôi đã tạo một thư mục dùng chung để tôi có thể sử dụng Eclipse trên HĐH Windows của mình và thực hiện một số thử nghiệm trong Linux.

Tuy nhiên, tôi không thể truy cập thư mục dùng chung với người dùng của mình, tôi đã đăng nhập bằng root và đã sử dụng chmod 777và thậm chí đã chuyển người dùng của mình sang nhóm của thư mục.

Dù tôi làm gì thì kết quả đều giống nhau:

/media/sf_sharedFolder/: Permission denied

Tôi có thể làm gì? Làm cách nào tôi có thể truy cập thư mục dùng chung với người dùng của mình?

Câu trả lời:


851

Thêm chính bạn vào vboxsfnhóm trong VM khách.

Giải pháp 1

Chạy sudo adduser $USER vboxsftừ thiết bị đầu cuối.
(Trên Suse đó sudo usermod --append --groups vboxsf $USER)

Để có hiệu lực, bạn nên đăng xuất và sau đó đăng nhập, hoặc bạn có thể cần phải khởi động lại.

Giải pháp 2

Chỉnh sửa tập tin /etc/group(bạn sẽ cần quyền root). Tìm dòng vboxsf:x:999và thêm vào cuối :yourusername- sử dụng giải pháp này nếu bạn không có sudo.

Để có hiệu lực, bạn nên đăng xuất và sau đó đăng nhập, hoặc bạn có thể cần phải khởi động lại.


97
FWIW, đăng xuất và đăng nhập là đủ để thay đổi có hiệu lực.
3c71

12
Cảm ơn, nó chỉ thiếu phần khởi động lại, đối với tôi.
Pedro Reis

5
FWIW, vì bạn đã ở trong dòng bình luận, không cần phải đăng xuất và đăng nhập lại. Đơn giản chỉ cần ngắt kết nối chia sẻ và gắn kết lại. Lưu trữ VirtualBox> Thiết bị> Thư mục dùng chung> di chuột qua thư mục bạn đã chia sẻ để xem thông tin về chú giải công cụ. Ví dụ: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(tính năng này yêu cầu Bổ sung khách).
firepol

10
Tôi sử dụng Ubuntu 17.04 với tư cách là khách và Windows 10 làm Hệ điều hành máy chủ (cả 64 Bit) và vì một số lý do, nó không hoạt động cho đến khi tôi khởi động lại máy khách. Tôi đã sử dụng Giải pháp 2.
Alex

14
Kết quả tương tự như @Alex ở đây, sử dụng Win7 làm máy chủ và Ubuntu 17.04 làm khách, thêm người dùng vào vboxsf và đăng nhập / đăng xuất là không đủ, việc khởi động lại toàn bộ máy ảo là cần thiết để các quyền có hiệu lực.
Hugh Nolan

193

Hãy thử điều này (trên máy khách . Tức là hệ điều hành đang chạy trong hộp ảo):

sudo adduser your-user vboxsf

Bây giờ khởi động lại hệ điều hành đang chạy trong hộp ảo.


7
Cảm ơn rất nhiều!! Làm việc tốt Điều duy nhất cần nói thêm là tôi đã phải khởi động lại hệ điều hành (không thử chỉ cần đăng xuất nhưng nó có thể là đủ)
Osmar

2
Thậm chí không cần phải đăng xuất / đăng nhập, su - $ USER là đủ. (tất nhiên, đối với các chương trình bắt đầu từ shell mới, tất nhiên.)
tzp

2
Đối với những gì tôi muốn làm, cần phải khởi động lại. Nó chỉ dễ dàng hơn để khởi động lại nếu bạn muốn nó tự động và không dựa trên bạn gắn thủ công.
J. Martin

51

Điều này cũng hoạt động

sudo usermod -aG <group> <user>

Sau đó khởi động lại vm


1
Không cần khởi động lại vm, chỉ cần đăng xuất và bật lại
ivandov 13/03/2017

8
Trên hệ thống của tôi, khởi động lại là cần thiết vì một số lý do.
Hàng chục

1
Tôi thứ hai @Tensigh. Mặc dù người dùng của tôi đã được hiển thị trong / etc / group, nhưng nó không bao giờ xuất hiện bằng cách gõ groups. Tôi đã phải khởi động lại VM.
James Shrum

37

Đối với những người thực sự lười biếng (không cần gõ, chỉ sao chép và dán hoàn toàn dễ dàng):

sudo usermod -aG vboxsf $USER

Đăng xuất và quay lại để thay đổi hoạt động.

Tôi biết đó là giải pháp "tôi cũng vậy", nhưng tôi thực sự lười biếng và không tìm thấy giải pháp nào khác để thu hút sự thờ ơ bẩm sinh của mình ... :)


2
Đăng xuất không giúp được, tôi phải khởi động lại nó.
CodyChan

Khởi động lại được yêu cầu bằng cách sử dụng ở trên trong VirtualBox 6.1 bằng Ubutun 18.04.xLTS
crajun

10

Đối với Máy chủ VirtualBox (5.0.24) = Mac (El Capitan) và Khách = RHEL (7.2)

Khởi động máy khách RHEL của bạn và mở Terminal. Đảm bảo bạn đã cài đặt Công cụ dành cho nhà phát triển.

sudo yum groupinstall 'Developer Tools'

Và gói tiêu đề Kernel để tập lệnh Guest Additions có thể cập nhật kernel của bạn.

sudo yum install kernel-devel*

Khi bạn đã có sẵn các điều kiện tiên quyết để cài đặt Bổ sung khách. Với VM đang chạy của bạn được chọn, hãy chuyển đến menu VirtualBox và chọn Thiết bị -> Chèn hình ảnh CD bổ sung của khách ...

nhập mô tả hình ảnh ở đây

Cho phép một vài giây để gắn kết xảy ra và kịch bản cài đặt khởi động. Khi họ đã nhấp vào nút "Chạy" trong hộp thoại bật lên trong VM khách của bạn.

Sau khi tập lệnh kết thúc, nhấp chuột phải vào Biểu tượng CD trên Bàn làm việc và chọn Eject. Sau đó Tắt máy khách VM.

Tạo thư mục Dùng chung trong hệ thống Máy chủ của bạn bằng Terminal, tôi thường đặt nó vào thư mục Tài liệu của mình và đảm bảo rằng người dùng của bạn có thể truy cập nó.

sudo mkdir ~/Documents/RhelShared
sudo chmod 755 <user> ~/Documents/RhelShared

Trong Trình quản lý hộp ảo Oracle VM, chọn VM của bạn và sau đó nhấp vào thành phần cấu hình "Thư mục được chia sẻ". Trong hộp thoại tiếp theo, nhấp vào biểu tượng Thêm thư mục ở bên phải Danh sách thư mục.

Sau đó, trong cửa sổ bật lên, chọn Thư mục lưu trữ mà bạn vừa tạo làm Đường dẫn thư mục và đặt cho nó một Tên thư mục sẽ được sử dụng bởi VM khách, đồng thời đánh dấu vào hộp kiểm "Tự động gắn kết".

nhập mô tả hình ảnh ở đây

Sau khi khởi động lại, Guest VM khởi chạy một thiết bị đầu cuối trên Máy chủ và kiểm tra người dùng được liên kết với quy trình VirtualBox Guest đang chạy là người dùng của bạn, rất có thể hoặc trong một nhóm có quyền truy cập vào thư mục Dùng chung.

ps aux | grep VirtualBoxVM

Sau đó, theo một số câu trả lời trước đó trong Terminal trên Guest VM, hãy thêm người dùng của bạn vào nhóm vboxsf.

sudo usermod -a -G vboxsf <user>

Đăng xuất và đăng nhập lại để thay đổi.

Thư mục được chia sẻ bây giờ sẽ có sẵn và có thể truy cập được vì sf_rrc Shared giả sử bạn đã sử dụng cùng tên như tôi đã làm trong cửa sổ bật lên ở trên.


2

Để làm rõ bài cuối cùng:

Lệnh VBoxManage là:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1

1

Vấn đề là các quyền của thư mục dùng chung được đặt thành không cho phép các liên kết tượng trưng theo mặc định. Bạn có thể kích hoạt chúng trong một vài bước dễ dàng.

  1. Tắt máy ảo.
  2. Lưu ý tên máy của bạn tại Machine > Settings > General > Name
  3. Lưu ý tên thư mục dùng chung của bạn tại 'Máy> Cài đặt> Thư mục dùng chung`
  4. Tìm thư mục gốc VirtualBox của bạn và thực hiện lệnh sau. VBoxManage setextradata "" VBoxIternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Khởi động máy ảo và thư mục dùng chung sẽ cho phép các liên kết tượng trưng.

1
sudo adduser xxxxxxx vboxsf

xxxxxx là tên tài khoản người dùng của bạn. Đăng xuất và đăng nhập lại vào Ubuntu.


Hoặc chỉ đơn giản là "sudo adduser $ USER vboxsf" và để tên người dùng được đọc tự động từ hệ thống
Kaan Oğuzhan

-2

Sau khi thêm người dùng vào nhóm vboxsf, bạn có thể cần phải đăng xuất hoàn toàn khỏi gnome / xfce / ??? phiên, bởi vì ai đó từ lâu đã quyết định rằng liên kết nhóm nên được lưu vào bộ đệm khi đăng nhập lần đầu vào hệ thống cửa sổ.

Hoặc đi học cũ:

% newgrp vboxsf

trong bất kỳ shell nào bạn muốn sử dụng để truy cập vào thư mục. May mắn thay, newgrp tự tìm kiếm danh sách nhóm và không sử dụng các giá trị được lưu trong bộ nhớ cache. Bạn vẫn cần phải đăng xuất và đăng nhập lại để truy cập vào thư mục từ một thứ khác không phải là shell.


-4

Theo kinh nghiệm cá nhân của tôi, thật khó để kích hoạt các thư mục được chia sẻ trong VirtualBox nhưng nó có thể nhìn thấy được. Tôi có một máy ảo khách Buster debian được cài đặt trong máy chủ Windows 10 của tôi.

Tôi không nhận ra chính xác những gì đã làm, nhưng tôi nhớ rằng tôi đã truy cập Windows defender, phần mềm chống vi-rút của tôi để xem họ có nhận ra VirtualBox là một chương trình không chứ không phải là vi-rút. Sau đó, tôi nhấn chuột phải vào tệp tài liệu và được phép chia sẻ thư mục và tôi đã nhấp vào một số nút ở đó và chấp nhận chia sẻ với các nhóm và với người dùng muy trong Windows 10.

Ngoài ra, tôi đã tìm thấy một trang web của Windows về một cái gì đó giống như máy ảo mà tôi không nhớ rõ, nhưng nó đã đưa tôi đến một bảng điều khiển và tôi phải thay đổi ba lần nhấp đúp để khi tôi cập nhật Windows, nó nhận ra máy ảo của tôi. Ngoài ra, trong muy debian, trong thiết bị đầu cuối, sử dụng một số dòng lệnh, muy VirtualBox nhận ra người dùng của tôi cấp quyền, tôi dựa trên một số thông tin trong diễn đàn Ubuntu. Tôi đặt tất cả những gì tôi nhớ.

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.