Perché il montaggio di una condivisione nfs da Linux richiede l'uso di una porta privilegiata?


11

Esporto una directory su un box Linux e posso montarlo da un altro box Linux usando

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

Lo stesso comando non riesce su Mac OS X:

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

Allo stesso tempo, kurush:/var/logs/syslogregistra questa riga:

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

Quando provo ad andare attraverso la GUI (finder-> connect to server-> nfs://kurush/media/lynk-> connect), ottengo un errore immediato (impossibile connettermi & c) e la finestra di Linux syslog registra il authenticated mount request.

Il problema viene risolto utilizzando una porta privilegiata :

Riga di comando:

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

Per abilitare la GUI:

sudo vifs

quindi aggiungere una riga

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

Le domande sono :

  • Perché devo usare una porta privilegiata? È qualcosa che faccio sul lato Linux? Mi sembra di ricordare che una volta ho montato quella condivisione senza la magia di cui sopra.

  • Come faccio a dire a MacOSX di usare la porta privilegiata senza usare la riga di comando? Pensavo che Apple fosse per la folla "non tecnica", quindi deve essere possibile!


Ciao. Normalmente chiudiamo le domande che esistono per porre "Perché Apple ha fatto X?" ma ci sono alcuni dettagli tecnici qui. La tua domanda potrebbe funzionare meglio se la fai semplicemente (modificala verso il basso) e poi inserisci tutte le risposte nella sezione delle risposte. Se hai bisogno di porre un seguito alla domanda spiegando qual è il problema, forse potrebbe funzionare. Cosa farai alla fine con la storia del "perché" Apple l'ha progettata così?
bmike

1
@bmike: ho cambiato il "perché" in "come".
sd

Risposte:


10

Perché devi Tradizione, soprattutto. Una volta, limitare NFS alle porte privilegiate (<1023) era considerato una misura di sicurezza. Quando le persone utilizzavano i computer mainframe, questo assicurava che il software NFS sul lato client facesse parte del sistema operativo / approvato dall'amministratore, poiché un programma può utilizzare una porta privilegiata solo se è eseguito dall'utente root. Oggi, questo non ha senso perché chiunque può possedere un computer e avere l'accesso come root, quindi questo non significa nulla in termini di sicurezza.

Per impostazione predefinita, molti server NFS non consentono porte di origine non privilegiate. Alcuni client NFS (come Ubuntu), utilizzano automaticamente una porta sorgente privilegiata se non diversamente specificato, motivo per cui il client Linux funziona senza problemi. Chiaramente, il client OS X non lo fa. Non so se sia stata una scelta di design Apple o qualcosa ereditato da BSD. So che anche Solaris utilizza automaticamente una porta non privilegiata.

I due modi per evitare questo problema sono, dire al client OS X di utilizzare una porta privilegiata, come hai scoperto, o configurare il tuo server NFS per consentire porte non privilegiate (cercalo nella documentazione del tuo server).

Come si fa in modo che OS X usi una porta privilegiata usando una GUI? Per quanto ne so, non è possibile nelle versioni> 10.6. Uno era in grado di montare condivisioni NFS in Utility Disco e digitare opzioni extra, ma è stato rimosso. ( dettagli ) Non è mai stato un semplice pulsante o altro. NFS non è certo qualcosa di cui la maggior parte della folla "non tecnica" ha bisogno, quindi immagino che non sia stata una priorità e ci sono ragioni per cui l'uso routinario delle porte privilegiate non è una grande idea.

Non l'ho provato, ma http://www.bresink.com/osx/NFSManager.html sembra consentire la configurazione delle funzionalità NFS di OS X senza la riga di comando.


2
Informazioni su "o configurare il server NFS per consentire porte non privilegiate": per nfs-kernel-server sono disponibili le insecureopzioni /etc/exports. Ad esempio:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)
tungd,

grazie, insicuro consente a Mac di connettersi a NFS utilizzando Finder -> Vai -> Connetti al server
waza123

Questa è una preoccupazione di sicurezza attiva per i sistemi di oggi, in genere all'interno di una rete intranet anziché su Internet. Poiché i sistemi tendono a montare le condivisioni NFS all'interno del file system, c'è molto spazio per gli abusi. La necessità di porte privilegiate impedisce agli utenti di manipolare il file system quando non dovrebbero. Naturalmente se l'utente ha già root non ha importanza.
jtpereyda,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.