Neden nfs paylaşımını linux'dan paylaşmak, ayrıcalıklı bir bağlantı noktasının kullanılmasını gerektiriyor?


11

Linux üzerindeki bir dizini dışa aktarırım ve kullanarak başka bir linux kutusundan bağlayabilirim

# mount -t nfs kurush:/media/lynk /mnt/kurush/

Aynı komut Mac OS X'te başarısız oluyor:

$ sudo mount -t nfs kurush:/media/lynk /Volumes/lynk
mount_nfs: can't mount /media/lynk from kurush onto /Volumes/lynk: Operation not permitted

Aynı zamanda, kurush:/var/logs/syslogbu satırı kaydeder:

rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)

GUI'ye gitmeye çalıştığımda (bulucu-> sunucuya bağlan-> nfs://kurush/media/lynk- -> bağlan) hemen bir hata alıyorum (bağlanamıyor ve bağlanamıyor) ve linux box syslog kayıtları kaydediyor authenticated mount request.

Ayrıcalıklı bir bağlantı noktası kullanarak sorun çözüldü :

Komut satırı:

sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk

GUI'yi etkinleştirmek için:

sudo vifs

sonra bir satır ekle

kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto

Sorular :

  • Neden ayrıcalıklı bir liman kullanmam gerekiyor? Linux tarafında yaptığım bir şey mi? Bir zamanlar söz konusu sihir olmadan bu paylaşımı paylaştığımı hatırlıyor gibiyim.

  • MacOSX'a ayrıcalıklı bağlantı noktasını komut satırını kullanmadan kullanmasını nasıl söylerim? Apple'ın "teknisyen olmayan" kalabalık için olduğunu sanıyordum, bu yüzden mümkün olmalı!


Selam. Normalde "Apple neden X yaptı?" Diye sormak için var olan soruları kapatıyoruz. ama burada bazı teknik detaylar var. Soruyu basitçe sorarsanız (düzenleyin) ve ardından tüm cevabı cevap bölümüne koyun, sorunuz daha iyi çalışabilir. Sorunun ne olduğunu açıklayan bir soru sormak gerekirse - belki de işe yarayabilir. Sonunda Apple'ın bu şekilde tasarladığı “neden” hikayesiyle ne yapacaksınız?
bmike

1
@bmike: "Neden" i "nasıl" olarak değiştirdim.
sds

Yanıtlar:


9

Neden yapmak zorundasın Çoğunlukla gelenek. Bir zamanlar NFS'yi ayrıcalıklı limanlarla (<1023) sınırlandırmak bir güvenlik önlemi olarak kabul edildi. İnsanların anabilgisayar bilgisayarlarını kullanırken, bu, istemci tarafındaki NFS yazılımının işletim sisteminin bir parçası / yönetici tarafından onaylandığından emin oldu, çünkü bir program yalnızca kök kullanıcı tarafından çalıştırılıyorsa ayrıcalıklı bir bağlantı noktası kullanabilir. Bugün, bu bir anlam ifade etmiyor, çünkü herkes bir bilgisayara sahip olabilir ve root erişimine sahip olabilir, bu nedenle güvenlik açısından bu bir anlam ifade etmiyor.

Varsayılan olarak, çoğu NFS sunucusu ayrıcalıklı olmayan kaynak bağlantı noktalarına izin vermez. Bazı NFS istemcileri (Ubuntu's gibi), aksi belirtilmediği sürece, ayrıcalıklı bir kaynak bağlantı noktası kullanmak için varsayılandır, bu nedenle Linux istemciniz sorunsuz çalışır. Açıkçası, OS X istemcisi bunu yapmaz. Bunun bir Apple tasarım tercihi mi yoksa BSD'den miras kalan bir şey mi olduğunu bilmiyorum. Solaris'in de ayrıcalıklı olmayan bir limanda varsayılan olduğunu biliyorum.

Bu sorunu önlemenin iki yolu, OS X istemcisine keşfettiğiniz gibi ayrıcalıklı bir bağlantı noktası kullanmasını söylemek veya NFS sunucunuzu ayrıcalıklı olmayan bağlantı noktalarına izin verecek şekilde yapılandırmaktır (sunucunuzun belgelerine bakın).

OS X'in bir GUI kullanarak ayrıcalıklı bir port kullanmasını nasıl sağlarsınız? Bildiğim kadarıyla,> 10.6 sürümlerinde kullanamazsın. Biri Disk Yardımcı Programında NFS paylaşımlarını bağlayabiliyordu ve fazladan seçenekler yazabiliyordu, ancak bu kaldırıldı. ( detaylar ) Asla basit bir düğme ya da bir şey değildi. NFS, pek "teknik olmayan" kalabalığın ihtiyacı olan bir şey değildir, bu yüzden öncelikli olmadığını ve rutin olarak imtiyazlı limanları kullanmanın pek iyi bir fikir olmadığını düşünüyorum.

Denemedim, ancak http://www.bresink.com/osx/NFSManager.html , OS X'in NFS özelliklerinin komut satırı olmadan yapılandırılmasına izin veriyor gibi görünüyor.


1
Hakkında "veya NFS sunucunuzu ayrıcalıklı olmayan bağlantı noktalarına izin verecek şekilde yapılandırma": nfs-kernel-server için insecureseçeneklerin içinde /etc/exports. Örneğin:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)
tungd

teşekkürler, güvensiz Mac'in Bulucu -> Git -> Sunucuya bağlan
waza123

Bu, günümüzde, genellikle internet üzerinden değil bir intranet içerisindeki sistemler için aktif bir güvenlik sorunudur. Sistemler NFS paylaşımlarını dosya sistemine bağlama eğiliminde olduklarından, kötüye kullanım için çok yer vardır. Ayrıcalıklı bağlantı noktaları gerekli kılmak, kullanıcıların gerektiğinde dosya sistemini değiştirmelerini engellemektedir. Tabii ki kullanıcı zaten root kullanıyorsa önemli değil.
jtpereyda
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.