Virtualbox paylaşımlı klasör izinleri


429

RedHat ile Windows ve Virtualbox kullanıyorum, basitleştiriyorum: Windows işletim sistemimde Eclipse'i kullanabilmek ve Linux'ta bazı testler yapmak için paylaşılan bir klasör oluşturdum.

Ancak, paylaşılan klasöre kullanıcımla erişemiyorum, root ile oturum açtım ve kullandım chmod 777ve hatta kullanıcımı klasör grubuna taşıdım.

Ne yaparsam yapayım aynı:

/media/sf_sharedFolder/: Permission denied

Ne yapabilirim? Paylaşılan klasöre kullanıcımla nasıl erişebilirim?

Yanıtlar:


854

Kendinizi vboxsfkonuk VM'de gruba ekleyin .

Çözüm 1

sudo adduser $USER vboxsfTerminalden çalıştırın .
(Suse'da sudo usermod --append --groups vboxsf $USER)

Etkili olması için oturumu kapatıp tekrar oturum açmanız gerekir, aksi takdirde yeniden başlatmanız gerekebilir.

Çözüm 2

Dosyayı düzenleyin /etc/group(kök ayrıcalıklarına ihtiyacınız olacak). Satırı arayın vboxsf:x:999ve sonunda ekleyin :yourusername- sudo'nuz yoksa bu çözümü kullanın.

Etkili olması için oturumu kapatıp tekrar oturum açmanız gerekir, aksi takdirde yeniden başlatmanız gerekebilir.


97
Değişikliğin yürürlüğe girmesi için oturumu kapatmak ve kapatmak yeterlidir.
3c71

12
Teşekkürler, benim için yeniden başlatma kısmı yoktu.
Pedro Reis

5
FWIW, zaten yorum satırında olduğunuz için oturumu kapatıp tekrar oturum açmanıza gerek yok. Paylaşımı çıkarın ve tekrar takın. Araç ipucu bilgilerini görmek için VirtualBox> Cihazlar> Paylaşımlı Klasör> öğesini paylaştığınız klasörün üzerine getirin. Örn: sudo mount -t vboxsf VboxSharedFolderName /media/VboxSharedFolderName(bu özellik Misafir Eklemeleri gerektirir).
firepol

10
Ubuntu 17.04'ü konuk ve Windows 10'u Host OS (her ikisi de 64 Bit) olarak kullanıyorum ve bir nedenle konuğu yeniden başlatana kadar işe yaramadı. Çözüm 2'yi kullandım.
Alex,

14
Burada @Alex ile aynı sonuç, host olarak Win7 ve misafir olarak Ubuntu 17.04 kullanılarak vboxsf ve login / logout'a kullanıcı eklemek yeterli değildi, izinlerin etkili olması için sanal makinenin tamamen yeniden başlatılması gerekiyordu.
Hugh Nolan

193

Bunu deneyin ( konuk makinede . Yani Sanal kutuda çalışan işletim sistemi):

sudo adduser your-user vboxsf

Şimdi sanal kutuda çalışan işletim sistemini yeniden başlatın.


8
Çok teşekkürler!! Sadece iyi çalıştı. Eklenecek tek şey, işletim sistemini yeniden başlatmak zorunda olduğum (sadece oturum açmayı denemedim, ancak yeterli olabilir)
Osmar

2
Oturumu kapatıp açmaya bile gerek yok, su - $ USER yeterli. (elbette yeni kabuktan başlayan programlar için.)
tzp

2
Yapmak istediğim şey için yeniden başlatma gerekiyordu. Manuel olarak monte edilmenize dayanmayan, otomatik manyetik olmasını istiyorsanız yeniden başlatmak daha kolaydır.
J. Martin

52

Bu da işe yarıyor

sudo usermod -aG <group> <user>

Sonra vm'yi yeniden başlatın


1
Vm'yi

8
Sistemimde, bir nedenden dolayı yeniden başlatma gerekiyordu.
6'da Tensigh

1
İkinci olarak @Tensigh. Her ne kadar benim kullanıcı / etc / group içinde gösterilmiş olsa da, yazarak hiç görünmedi groups. VM'yi yeniden başlatmak zorunda kaldım.
James Shrum

38

Gerçekten tembel (yazım yok, sadece tamamen kolay kopyala ve yapıştır):

sudo usermod -aG vboxsf $USER

Değişikliği etkinleştirmek için oturumu kapatın ve tekrar oturum açın.

Bunun "ben de" bir çözüm olduğunu biliyorum, ama gerçekten tembelim ve doğuştan gelen ilgisizliğime itiraz etmek için başka bir çözüm bulamadım ... :)


2
Oturumu kapatmak yardımcı olmaz, yeniden başlatmam gerekiyor.
CodyChan

Ubutun 18.04.xLTS kullanarak yukarıda VirtualBox 6.1 kullanarak yeniden başlatma gerekir
crajun

10

VirtualBox (5.0.24) için Host = Mac (El Capitan) ve Guest = RHEL (7.2)

RHEL Guest VM'nizi başlatın ve bir Terminal açın. Geliştirici Araçlarının yüklü olduğundan emin olun.

sudo yum groupinstall 'Developer Tools'

Ve Çekirdek başlıkları paketi, Konuk Eklemeleri komut dosyasının çekirdeğinizi güncelleyebilmesi için.

sudo yum install kernel-devel*

Önkoşullar oluşturulduktan sonra Misafir Eklemeleri'ni yükleme zamanı. İle sizin çalışan VM seçilmiş VirtualBox menüsüne gidip Cihazları seç -> Ekle CD kalıbı ...

resim açıklamasını buraya girin

Bağlantının oluşması ve kurulum komut dosyasının başlaması için birkaç saniye bekleyin. Misafir VM'nizde açılan iletişim kutusundaki "Çalıştır" düğmesini tıkladıktan sonra.

Komut dosyası tamamlandıktan sonra Masaüstündeki CD Simgesini sağ tıklatın ve Çıkart'ı seçin. Ardından Konuk VM'yi kapatın.

Paylaşılan klasörü Terminal sistem kullanarak ana sisteminizde oluşturun, genellikle Belgelerim klasörüne koyarım ve kullanıcınızın erişebildiğinden emin olurum.

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

Oracle VM Sanal Kutu Yöneticisi'nde VM'nizi seçin ve ardından "Paylaşılan klasörler" yapılandırma öğesini tıklayın. Bir sonraki iletişim kutusunda, Klasör Listesinin sağındaki Klasör Ekle simgesine tıklayın.

Açılır pencerede, Klasör Yolu olarak yeni oluşturduğunuz Ana Bilgisayar Klasörünü seçin ve Konuk VM tarafından kullanılacak bir Klasör Adı verin, ayrıca "Otomatik Montaj" onay kutusunu işaretleyin.

resim açıklamasını buraya girin

Guest VM'yi yeniden başlattıktan sonra Host üzerinde bir terminal başlatın ve çalışan VirtualBox Guest işlemiyle ilişkili kullanıcının büyük olasılıkla sizin kullanıcınız olduğunu veya Paylaşılan klasörüne erişimi olan bir grupta olduğunu kontrol edin.

ps aux | grep VirtualBoxVM

Daha sonra Konuk VM'deki bir Terminal'deki önceki cevapların birkaçına göre, kullanıcılarınızı vboxsf grubuna ekleyin.

sudo usermod -a -G vboxsf <user>

Değişikliği almak için oturumu kapatıp tekrar açın.

Paylaşılan klasör, yukarıdaki açılır pencerede yaptığım adların aynısını kullandığınızı varsayarak sf_rhelshared olarak kullanılabilir ve erişilebilir olmalıdır.


2

Son gönderiyi netleştirmek için:

VBoxManage komutu:

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

1

Sorun, paylaşılan klasörün izinlerinin varsayılan olarak sembolik bağlantılara izin vermeyecek şekilde ayarlanmış olmasıdır. Bunları birkaç kolay adımda etkinleştirebilirsiniz.

  1. Sanal makineyi kapatın.
  2. Makinenizin adını şu adrese not edin: Machine > Settings > General > Name
  3. 'Makine> Ayarlar> Paylaşılan Klasörler` öğesinde paylaşılan klasör adınızı not edin
  4. VirtualBox kök dizininizi bulun ve aşağıdaki komutu yürütün. VBoxManage setextradata "" VBoxInternal2 / SharedFoldersEnableSymlinksCreate / 1
  5. Sanal makineyi başlatın ve paylaşılan klasör şimdi sembolik bağlantılara izin verecektir.

1
sudo adduser xxxxxxx vboxsf

burada xxxxxx kullanıcı hesap adınızdır. Oturumu kapatın ve Ubuntu'da yeniden oturum açın.


Veya basitçe "sudo adduser $ USER vboxsf" ve kullanıcı adının sistemden otomatik olarak okunmasına izin verin
Kaan Oğuzhan

-2

Kullanıcıyı vboxsf grubuna ekledikten sonra, gnome / xfce / ??? oturumunu tamamen kapatmanız gerekebilir. çünkü uzun zaman önce birisi pencere sistemine ilk girişte grup üyeliğinin önbelleğe alınması gerektiğine karar verdi.

Veya eski okula git:

% newgrp vboxsf

klasöre erişmek için kullanmak istediğiniz herhangi bir kabukta. Neyse ki, newgrp grup listesini kendisi arar ve önbelleğe alınmış değerleri kullanmaz. Klasöre kabuk dışında bir şeyden erişmek için oturumu kapatıp tekrar açmanız gerekir.


-4

Kişisel deneyimime göre, VirtualBox'ta paylaşılan klasörleri etkinleştirmek zor ama mümkün. Windows 10 ana bilgisayarıma bir debian Buster konuk sanal makinesi yükledim.

Ne yaptığını tam olarak bilmiyorum, ancak VirtualBox'ı bir virüs olarak değil, bir program olarak tanıtıp tanımadıklarını görmek için Windows savunucusuna, antivirüsüme gittiğimi hatırlıyorum. Bundan sonra, belge dosyasına sağ tıklayıp klasörü paylaşmaya izin verdim ve orada bazı düğmelere tıkladım ve Windows 10'da gruplarla ve muy kullanıcısıyla paylaşmayı kabul ettim.

Ayrıca, sanal makineler gibi iyi hatırlamadığım bir şey hakkında bir Windows web sayfası buldum, ancak beni bir panele götürdü ve üç şeyi değiştirmek zorunda kaldım, böylece Windows'u güncellediğimde sanal makinemi tanıdı. Ayrıca, muy debian'da, terminalde, bazı komut satırlarını kullanarak, muy VirtualBox, Ubuntu forumlarındaki bazı bilgilere dayanarak izinlerimi veren kullanıcımı tanıdı. Hatırladığım her şeyi koydum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.