Ich exportiere ein Verzeichnis auf einer Linux-Box und kann es mit einer anderen Linux-Box mounten
# mount -t nfs kurush:/media/lynk /mnt/kurush/
Der gleiche Befehl schlägt unter Mac OS X fehl:
$ sudo mount -t nfs kurush:/media/lynk /Volumes/lynk
mount_nfs: can't mount /media/lynk from kurush onto /Volumes/lynk: Operation not permitted
Gleichzeitig wird kurush:/var/logs/syslog
diese Zeile aufgezeichnet:
rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)
Wenn ich versuche, über die GUI zu gehen (Finder-> Verbindung zum Server herstellen nfs://kurush/media/lynk
- > -> Verbindung herstellen), wird sofort ein Fehler angezeigt (Verbindung nicht möglich & c) und das Linux-Box-Syslog zeichnet das auf authenticated mount request
.
Das Problem wird mithilfe eines privilegierten Ports gelöst :
Befehlszeile:
sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk
So aktivieren Sie die GUI:
sudo vifs
Fügen Sie dann eine Zeile hinzu
kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto
Die Fragen sind :
Warum muss ich einen privilegierten Port verwenden? Ist es etwas, was ich auf der Linux-Seite mache? Ich scheine mich zu erinnern, dass ich diesen Anteil einst ohne die oben erwähnte Magie bestiegen habe.
Wie kann ich MacOSX anweisen, den privilegierten Port ohne Verwendung der Befehlszeile zu verwenden? Ich dachte, Apple sei für die "Nicht-Technikfreaks", also muss es möglich sein!
Antworten:
Warum musst du Meistens Tradition. Es war einmal eine Sicherheitsmaßnahme, NFS auf privilegierte Ports (<1023) zu beschränken. Als Benutzer Mainframe-Computer verwendeten, stellte dies sicher, dass die NFS-Software auf der Clientseite Teil des Betriebssystems war / vom Administrator genehmigt wurde, da ein Programm einen privilegierten Port nur verwenden kann, wenn er vom Root-Benutzer ausgeführt wird. Heutzutage macht dies keinen Sinn, da jeder einen Computer besitzen und über Root-Zugriff verfügen kann. Dies bedeutet also nichts für die Sicherheit.
Standardmäßig erlauben viele NFS-Server keine nicht privilegierten Quellports. Einige NFS-Clients (z. B. Ubuntus) verwenden standardmäßig einen privilegierten Quellport, sofern nicht anders angegeben. Aus diesem Grund funktioniert Ihr Linux-Client problemlos. Der OS X-Client tut dies natürlich nicht. Ich weiß nicht, ob das eine Wahl für das Apple-Design war oder etwas, das von BSD geerbt wurde. Ich weiß, dass Solaris standardmäßig auch einen nicht privilegierten Port verwendet.
Sie können dieses Problem auf zwei Arten vermeiden, indem Sie den OS X-Client anweisen, einen privilegierten Port zu verwenden, wie Sie festgestellt haben, oder Ihren NFS-Server so konfigurieren, dass nicht privilegierte Ports zugelassen werden (siehe Dokumentation Ihres Servers).
Wie bringt man OS X dazu, einen privilegierten Port über eine GUI zu verwenden? Soweit ich weiß, können Sie nicht auf Versionen> 10.6. Früher konnte man NFS-Freigaben im Festplatten-Dienstprogramm bereitstellen und zusätzliche Optionen eingeben, aber das wurde entfernt. ( Details ) Es war nie ein einfacher Knopf oder so. NFS ist kaum etwas, was die meisten "Nicht-Techniker" brauchen. Ich denke, es hatte keine Priorität und es gibt Gründe, warum die routinemäßige Verwendung privilegierter Ports keine gute Idee ist.
Ich habe es nicht ausprobiert, aber http://www.bresink.com/osx/NFSManager.html scheint die Konfiguration der NFS-Funktionen von OS X ohne Befehlszeile zu ermöglichen.
quelle
insecure
Optionen in/etc/exports
. Zum Beispiel:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)