QEMU Windows konuk ve Linux ana bilgisayarı arasında paylaşılan klasör


24

Geçmişte, ana bilgisayardaki bir klasörü Windows konuklarıyla paylaşmak için çok iyi desteği olan Sanal Kutu'yu kullandım. QEMU için de benzer işlevler arıyorum.

Belgeler ağda bir yerde çalışan bir Samba sunucusunu göstermeyi veya -net user,smb=/path/to/folderbir samba sunucusunu başlatmak için onu kullanmayı önerir .

-net user,smbQEMU seçeneğiyle hiç şansım olmadı . Tek yaptığı başlıyor smbd(bir bağlantı noktası çakışması nedeniyle yerel olarak çalışan başka bir hizmetle çakışıyor). Söylemek yeterli, bu özellikle akılda birden fazla misafir ile, kullanılamaz. (Linux -virtfsiçin, kolay klasör paylaşımı için (Plan 9) kullanılabilir.)

Samba ile ilgili diğer problemler, klasör paylaşımı ile sınırlı olmaması, ayrıca yazıcı paylaşımı, kullanıcı eşlemesi ve ne yapması gerektiğidir. Tek ihtiyacım olan, bir (veya daha fazla?) Klasörü Windows misafiriyle paylaşmak.

QEMU için Windows konuklarıyla çalışan alternatif bir klasör paylaşım yöntemi var mı?

Yoksa Samba'yı kendisini çok sınırlı bir dizi özellikle sınırlayacak ve QEMU'ya entegre edecek şekilde yapılandırmanın bir yolu var mı? Olması gerekiyor:

  • Ağdaki herkes klasöre erişemez.
  • Yerel kullanıcılar dahil (eğer uygunsa).
  • Başka işlevler sağlamaz (yazıcı paylaşımı).
  • Use case: Windows'a git dizinini açın, Windows'ta derleyin ve analiz için Linux kullanın.
  • Kabul edilebilir bir hıza sahip, Windows virtio-scsi ve virtio-net kullanır.
  • Bir Linux sunucusundan bir klasörü Windows 7 konuğu ile paylaşabilir.

daha fazla işletim sistemi agnostic sorusu: superuser.com/questions/628169/…
Ciro Santilli,

1
@CiroSantilli 法轮功 露 宪 六四 事件 法轮功 Bu soru, Linux'un -virtfsharika çalıştığı yerlerde etiketlendi (ayrıca bu soruya bakın), ancak Windows için 9p sürücünün farkında değilim.
Lekensteyn

evet, sadece bir dupe veya başka bir şey olduğunu söylememek, sadece ilgili.
Ciro Santilli,

Yanıtlar:


14

QEMU'nun yerleşik Samba servisi

Çalışmama -net user,smbseçeneğine, yeni Samba sürümleriyle uyumsuzluk neden oldu (> = 4). Bu QEMU v2.2.0'da düzeltilmiştir ve bu değişikliklerle daha yenidir:

(Debian, son iki yamayı Jessie'de bulunan 2.1 + dfsg-6'ya destekledi.)

kullanım

\\10.0.2.4\qemuKullanıcı ağını kullanırken olduğu gibi bir klasörü dışa aktarabilirsiniz :

qemu-system-x86_64 \
    -net user,smb=/absolute/path/to/folder \
    -net nic,model=virtio \
    ...

QEMU bu seçeneklerle başarılı bir şekilde başlatıldığında, a'yı /tmp/qemu-smb.*-*/içeren yeni bir dizin oluşturulur smb.conf. Yeterince hızlıysanız, bu dosya yolları salt okunur yapmak veya daha fazla klasör dışa aktarmak için değiştirilebilir.

Kullanma usulü, çalışma şekli

Samba arka plan programı, 139 veya 445 numaralı bağlantı noktalarına "kullanıcı" ağı üzerinden erişildiğinde yürütülür. İletişim, smbd işleminin standart giriş / çıkış / hatası ile olur. Yeni servetlerin başarısız olmasının nedeni budur, hata mesajını protokol mesajları yerine boruya yazardı.

Bu operasyon yöntemi nedeniyle, arka plan programı ev sahibi limanlarında dinlemeyecek ve bu nedenle yalnızca konukların erişimine açık olacak. Böylece ağdaki diğer müşteriler ve hatta yerel kullanıcılar bu cini kullanarak klasörlere erişemez.

QEMU v2.2.0 yazıcı paylaşımı samba yapılandırmasıyla tamamen devre dışı bırakıldığından, burada başka bir endişe yaşandı.

Hız ağ bağdaştırıcısına bağlı olduğundan, Windows altında virtio netkvmsürücüsünün kullanılması önerilir .

Ayrıca, arka plan programının /usr/sbin/smbdderleme zamanında belirtildiği gibi ( --smbdseçeneği kullanarak) mutlak yolu (genellikle ) tarafından yürütüldüğünü unutmayın . Ne zaman yeni bir ikili ya da girişimi denemelisiniz smbd, dosyayı bu yol üzerinde değiştirmeniz gerekecektir.

Diğer uyarılar

Yürütülebilirler ( *.exe) chmod +x FILE, konuğun yürütme izinlerine sahip olması için ana bilgisayarda ( ) çalıştırılabilir olmalıdır . Herhangi bir dosyanın yürütülmesine izin vermek için acl allow execute always = Trueseçeneği bir paylaşıma ekleyin .

Herhangi bir dosyanın yürütülmesine izin veren salt okunur smb.conf yapılandırması örneği (QEMU v2.2.0'a dayanarak):

...
[Qemu]
path = / home / peter / windows 
salt okunur = evet
misafir ok = doğru
zorla kullanıcı = peter 
acl her zaman çalıştırma izin ver = Doğru

Bu seçeneği kullandım, her iki okuma-yazma erişimine ihtiyacım var. QEMU servisini yeniden başlattım ve buna göre conf güncellendi. Windows misafirinde gezgindeki ağ klasörlerinde hiçbir şey görmüyorum. Ayrıca bu durumda ana bilgisayar IP'sini (bunun 10.0.2.4 olduğunu varsayıyorum) nasıl bulabilirim? Bu NIC için misafir IP'im 10.0.2.15 idi. @Lekensteyn - herhangi bir fikir?
tsar2512 19:18

@ tsar2512 Genellikle Gezgin'e gider, sonra bir mektup atamak için Harita Ağ Sürücüsünü kullanırım \\10.0.2.4\qemu. Son zamanlarda bu adımı atladım ve adı geçen yolu doğrudan Çalıştır iletişim kutusundan açtım.
Lekensteyn

6

In 2018 , basit bir yolu arasında bir klasör paylaşmak için Linux konağın & , Windows sanal makine etmektir etkinleştirmek RDP Windows guest& bağlanmak vmile Uzak Masaüstü istemcisi Remmina Paylaşılan Klasör & etkinleştirin:

Remmina RDP ayarları

Bu, Bu bilgisayar ( Linux'ta paylaşılan klasörhostname ) altında bir klasör ve içinde bir \\tsclient\shared-folder-nameağ paylaşımı oluşturur guest. Ayrıca bir ağ sürücüsünü eşleyebilirsiniz:

Windows Konuk klasörü paylaşımları

  • Bu çözüm yok değil gerektiren sambaçalışıyor olması.

  • libvirt/ Altında test edilmiştir virt-managerancak herhangi bir sanallaştırma ile çalışmalıdır.


İlginç teknik, Dosya Sistemi Yeniden Yönlendirme bir RDP özelliği gibi görünüyor. xfreerdp /drive:shared-folder-name,/home/user/sharedSeçenek de çalışması gerekir. Kaynak kodu referansları: Remmina yapılandırması , FreeRDP kütüphane kodu .
Lekensteyn

Bu, potansiyel saldırganların tehlikesi olmayan güvenli bir çözüm mü?
Dave
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.