Uprawnienia do folderu współdzielonego Virtualbox

428

Używam Windows i Virtualbox z RedHat, mówiąc najprościej: utworzyłem folder współdzielony, aby móc używać Eclipse w moim systemie operacyjnym Windows i przeprowadzić testy w systemie Linux.

Jednak nie mogę uzyskać dostępu do folderu współdzielonego z moim użytkownikiem, zalogowałem się przy użyciu katalogu głównego i użyłem, chmod 777a nawet przeniosłem mojego użytkownika do grupy folderów.

Cokolwiek zrobię, wynik będzie taki sam:

/media/sf_sharedFolder/: Permission denied

Co mogę zrobić? Jak mogę uzyskać dostęp do folderu współdzielonego z moim użytkownikiem?

SaintLike
źródło

Odpowiedzi:

853

Dodaj się do vboxsfgrupy w maszynie wirtualnej gościa.

Rozwiązanie 1

Uruchom sudo adduser $USER vboxsfz terminala.
(Na Suse to sudo usermod --append --groups vboxsf $USER)

Aby zadziałać, należy się wylogować, a następnie zalogować lub może być konieczne ponowne uruchomienie komputera.

Rozwiązanie 2

Edytuj plik /etc/group(będziesz potrzebować uprawnień roota). Poszukaj linii vboxsf:x:999i dodaj na końcu :yourusername- skorzystaj z tego rozwiązania, jeśli nie masz sudo.

Aby zadziałać, należy się wylogować, a następnie zalogować lub może być konieczne ponowne uruchomienie komputera.

Constantin
źródło
97
FWIW, wylogowanie i zalogowanie wystarczy, aby zmiana zaczęła obowiązywać.
3c71
12
Dzięki, brakowało mi tylko części restartu.
Pedro Reis
5
FWIW, ponieważ jesteś już w wierszu komentarza, nie musisz się wylogowywać i ponownie logować. Po prostu odmontuj udział i zamontuj go ponownie. Host VirtualBox> Urządzenia> Folder współdzielony> najedź myszką na folder, który udostępniasz, aby wyświetlić informacje o etykietce. Np .: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(ta funkcja wymaga dodatków gości).
firepol
10
Używam Ubuntu 17.04 jako gościa, a Windows 10 jako Host OS (oba 64-bitowe) iz jakiegoś powodu nie działało, dopóki nie uruchomiłem ponownie gościa. Użyłem rozwiązania 2.
Alex
14
Taki sam wynik jak @Alex tutaj, używając Win7 jako hosta i Ubuntu 17.04 jako gościa, dodanie użytkownika do vboxsf i zalogowanie / wylogowanie nie było wystarczające, pełne ponowne uruchomienie maszyny wirtualnej było konieczne do uzyskania uprawnień.
Hugh Nolan
193

Spróbuj tego (na maszynie gościa, tj. Systemie operacyjnym uruchomionym w polu wirtualnym):

sudo adduser your-user vboxsf

Teraz uruchom ponownie system operacyjny działający w wirtualnym pudełku.

aflorezd
źródło
8
Wielkie dzięki!! Działa dobrze. Jedyną rzeczą do dodania jest to, że musiałem zrestartować system operacyjny (nie próbowałem się po prostu wylogować, ale mogło to wystarczyć)
Osmar
2
Nawet nie trzeba się wylogowywać / logować, wystarczy - USER $ wystarczy. (oczywiście programy zaczęły się od nowej powłoki).
tzp
2
Do tego, co chciałem zrobić, potrzebny był restart. Po prostu łatwiej jest zrestartować komputer, jeśli chcesz, aby był on automatyczny i nie opierał się na ręcznym montowaniu.
J. Martin
52

To też działa

sudo usermod -aG <group> <user>

Następnie uruchom ponownie vm

GEverding
źródło
1
Nie trzeba ponownie uruchamiać maszyny wirtualnej, po prostu wyloguj się i włącz ponownie
ivandov,
8
W moim systemie konieczne było ponowne uruchomienie z jakiegoś powodu.
Tensigh,
1
Drugie @Tensigh. Chociaż mój użytkownik był wyświetlany w / etc / group, nigdy nie pojawił się po wpisaniu groups. Musiałem zrestartować maszynę wirtualną.
James Shrum,
38

Dla naprawdę leniwych (bez pisania, tylko całkowicie łatwe kopiowanie i wklejanie):

sudo usermod -aG vboxsf $USER

Wyloguj się i zaloguj ponownie, aby aktywować zmianę.

Wiem, że to rozwiązanie „ja też”, ale jestem naprawdę leniwy i nie znalazłem innego rozwiązania, które mogłoby spodobać się mojej wrodzonej apatii… :)

ISparkes
źródło
2
Wylogowanie nie pomaga, muszę go ponownie uruchomić.
CodyChan
Wymagane ponowne uruchomienie przy użyciu powyższego w VirtualBox 6.1 przy użyciu Ubutun 18.04.xLTS
crajun
10

Dla VirtualBox (5.0.24) Host = Mac (El Capitan) i Guest = RHEL (7.2)

Uruchom maszynę wirtualną RHEL Guest i otwórz terminal. Upewnij się, że masz zainstalowane Narzędzia programistyczne.

sudo yum groupinstall 'Developer Tools'

Oraz pakiet nagłówków jądra, aby skrypt dodatków gości mógł zaktualizować jądro.

sudo yum install kernel-devel*

Po przygotowaniu wymagań czasowych zainstalować dodatki dla gości. Po wybraniu uruchomionej maszyny wirtualnej przejdź do menu VirtualBox i wybierz Urządzenia -> Włóż obraz dysku CD z dodatkami gości ...

wprowadź opis zdjęcia tutaj

Zaczekaj kilka sekund na zainstalowanie się i uruchomienie skryptu instalacyjnego. Po kliknięciu przycisku „Uruchom” w oknie dialogowym, które pojawiło się na maszynie Wirtualnej gościa.

Po zakończeniu skryptu kliknij prawym przyciskiem myszy ikonę CD na pulpicie i wybierz Wysuń. Następnie zamknij maszynę wirtualną gościa.

Utwórz folder współdzielony w systemie hosta za pomocą terminala, zwykle umieszczam go w folderze Dokumenty i upewniam się, że użytkownik ma do niego dostęp.

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

W Oracle VM Virtual Box Manager wybierz swoją maszynę wirtualną, a następnie kliknij element konfiguracji „Foldery współdzielone”. W następnym oknie dialogowym kliknij ikonę Dodaj folder po prawej stronie listy folderów.

Następnie w wyskakującym oknie wybierz folder hosta, który właśnie utworzyłeś, jako ścieżkę folderu i nadaj mu nazwę folderu, która będzie używana przez maszynę wirtualną gościa, a także zaznacz pole wyboru „Automatyczne podłączanie”.

wprowadź opis zdjęcia tutaj

Po ponownym uruchomieniu maszyny wirtualnej gościa uruchom terminal na hoście i sprawdź, czy użytkownik powiązany z uruchomionym procesem gościa VirtualBox jest użytkownikiem, najprawdopodobniej, lub grupą z dostępem do folderu współdzielonego.

ps aux | grep VirtualBoxVM

Następnie, zgodnie z kilkoma poprzednimi odpowiedziami w terminalu na maszynie wirtualnej gościa, dodaj użytkownika do grupy vboxsf.

sudo usermod -a -G vboxsf <user>

Wyloguj się i zaloguj ponownie, aby odebrać zmianę.

Udostępniony folder powinien być teraz dostępny i dostępny jako sf_rhelshared, zakładając, że użyłeś tych samych nazw, co ja w powyższym oknie podręcznym.

TJA
źródło
2

Aby wyjaśnić ostatni post:

Polecenie VBoxManage to:

VBoxManage setextradata <VM_NAME> VBoxInternal2/SharedFoldersEnableSymlinksCreate/<SHARE_NAME> 1
Ian Owens
źródło
1

Problem polega na tym, że uprawnienia do folderu współdzielonego są ustawione tak, aby domyślnie nie dopuszczać dowiązań symbolicznych. Możesz je włączyć w kilku prostych krokach.

  1. Zamknij maszynę wirtualną.
  2. Zanotuj nazwę swojego komputera pod adresem Machine > Settings > General > Name
  3. Zanotuj nazwę folderu udostępnionego w „Maszyna> Ustawienia> Foldery udostępnione”
  4. Znajdź katalog główny VirtualBox i wykonaj następujące polecenie. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Uruchom maszynę wirtualną, a folder udostępniony będzie teraz umożliwiał dowiązania symboliczne.
Andy Jenkins
źródło
1
sudo adduser xxxxxxx vboxsf

gdzie xxxxxx to nazwa konta użytkownika. Wyloguj się i zaloguj ponownie do Ubuntu.

Devesh Sharma
źródło
Lub po prostu „sudo adduser $ USER vboxsf” i pozwól, aby nazwa użytkownika została odczytana z systemu automatycznie
Kaan Oğuzhan,
-2

Po dodaniu użytkownika do grupy vboxsf może być konieczne całkowite wylogowanie się z gnome / xfce / ??? sesja, ponieważ ktoś dawno temu zdecydował, że przynależność do grupy powinna być buforowana przy pierwszym logowaniu do systemu okien.

Lub idź do starej szkoły:

% newgrp vboxsf

w dowolnej powłoce, której chcesz użyć do uzyskania dostępu do folderu. Na szczęście newgrp sam przeszukuje listę grup i nie używa buforowanych wartości. Nadal będziesz musiał się wylogować i zalogować ponownie, aby uzyskać dostęp do folderu z czegoś innego niż powłoka.

Don Christensen
źródło
-4

Z mojego osobistego doświadczenia trudno włączyć foldery współdzielone w VirtualBox, ale jest to możliwe. Mam maszynę wirtualną gościa Debian Buster zainstalowaną na moim hoście z systemem Windows 10.

Nie wiem dokładnie, co to zrobiło, ale pamiętam, że poszedłem do programu Windows Defender, mojego programu antywirusowego, aby sprawdzić, czy rozpoznają VirtualBox jako program, a nie wirus. Następnie nacisnąłem prawym przyciskiem myszy plik dokumentu i pozwoliłem na udostępnienie folderu, kliknąłem tam kilka przycisków i zgodziłem się na udostępnienie grupom i użytkownikom muy w Windows 10.

Znalazłem też stronę systemu Windows na temat maszyn wirtualnych, których nie pamiętam dobrze, ale zabrało mnie to do panelu i musiałem zmienić trzy rzeczy podwójnym kliknięciem, więc kiedy aktualizuję Windows, rozpoznaje moją maszynę wirtualną. Ponadto, w muy debian, w terminalu, używając niektórych linii poleceń, muy VirtualBox rozpoznał mojego użytkownika, który dał uprawnienia, na podstawie niektórych informacji na forach Ubuntu. Wkładam wszystko, co pamiętam.

Pracownik
źródło