Perchè montare una condivisione nfs da Linux richiede l'uso di una porta privilegiata?

10

Esportare una directory su una macchina Linux e posso montarla da un'altra finestra di linux usando

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

Lo stesso comando non funziona 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/syslog registra questa riga:

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

Quando provo ad utilizzare la GUI (finder- > connect to server- > nfs://kurush/media/lynk - > connect), ricevo un errore immediato (impossibile connettersi e c ) e il syslog della casella linux registra 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 aggiungi una linea

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

Le domande sono :

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

  • In che modo indico a MacOSX di utilizzare la porta privilegiata senza utilizzare la riga di comando? Pensavo che Apple fosse per il pubblico "non techie", quindi deve essere possibile!

posta sds 21.08.2014 - 05:23
fonte

1 risposta

7

Perché devi? Tradizione, per lo più. C'era una volta, la limitazione di NFS alle porte privilegiate (< 1023) era considerata una misura di sicurezza. Ai tempi in cui le persone utilizzavano i computer mainframe, ciò assicurava che il software NFS sul lato client fosse parte del sistema operativo / approvato dall'amministratore, dal momento che un programma può utilizzare una porta privilegiata solo se è eseguita dall'utente root. Oggi, questo non ha senso perché chiunque può possedere un computer e avere accesso 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 in genere una porta di origine privilegiata se non diversamente specificato, motivo per cui il tuo client Linux funziona senza problemi. Chiaramente, il client OS X non lo fa. Non so se fosse una scelta di design Apple o qualcosa di ereditato da BSD. So che anche Solaris ha come impostazione predefinita 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 ottiene che OS X usi una porta privilegiata usando una GUI? Per quanto ne so, non è possibile sulle versioni > 10.6. Uno era in grado di montare le condivisioni NFS in Utility Disco e digitare opzioni extra, ma è stato rimosso. ( dettagli ) Non è mai stato un semplice pulsante o altro. NFS non è certo una gran parte del bisogno di folla "non tecnologico", quindi immagino che non fosse una priorità e ci sono dei motivi per utilizzare regolarmente porte privilegiate non è una grande idea.

Non l'ho provato, ma il link sembra consentire la configurazione delle funzionalità NFS di OS X senza il comando linea.

    
risposta data 22.08.2014 - 09:29
fonte

Leggi altre domande sui tag