Eksportuję katalog na Linux-a i mogę go zamontować z innego Linux-a za pomocą
# mount -t nfs kurush:/media/lynk /mnt/kurush/
To samo polecenie kończy się niepowodzeniem w systemie 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
Jednocześnie kurush:/var/logs/syslog
rejestruje ten wiersz:
rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)
Kiedy próbuję przejść przez GUI (finder-> connect to server-> nfs://kurush/media/lynk
-> connect), dostaję natychmiastową awarię (niemożność połączenia i c) i syslog Linux-a rejestruje authenticated mount request
.
Problem został rozwiązany za pomocą uprzywilejowanego portu :
Wiersz poleceń:
sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk
Aby włączyć GUI:
sudo vifs
następnie dodaj linię
kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto
Pytania są następujące :
Dlaczego muszę korzystać z uprzywilejowanego portu? Czy to coś, co robię po stronie Linuxa? Wydaje mi się, że pamiętam, że kiedyś zamontowałem tę część bez wyżej wspomnianej magii.
Jak powiedzieć MacOSX, aby korzystał z uprzywilejowanego portu bez korzystania z wiersza poleceń? Myślałem, że Apple jest dla tłumu „non-techie”, więc to musi być możliwe!
Odpowiedzi:
Dlaczego musisz Głównie tradycja. Dawno, dawno temu ograniczenie NFS do uprzywilejowanych portów (<1023) było uważane za środek bezpieczeństwa. Kiedy ludzie korzystali z komputerów mainframe, upewniło się, że oprogramowanie NFS po stronie klienta było częścią systemu operacyjnego / zostało zatwierdzone przez administratora, ponieważ program może korzystać z uprzywilejowanego portu tylko wtedy, gdy jest uruchamiany przez użytkownika root. Dzisiaj nie ma to sensu, ponieważ każdy może posiadać komputer i mieć dostęp do konta root, więc nie ma to nic wspólnego z bezpieczeństwem.
Domyślnie wiele serwerów NFS nie zezwala na nieuprzywilejowane porty źródłowe. Niektóre klienty NFS (takie jak Ubuntu) domyślnie używają uprzywilejowanego portu źródłowego, chyba że określono inaczej, dlatego klient Linux działa bez problemu. Najwyraźniej klient OS X tego nie robi. Nie wiem, czy był to wybór Apple, czy coś odziedziczonego po BSD. Wiem, że Solaris również domyślnie korzysta z portu nieuprzywilejowanego.
Dwa sposoby uniknięcia tego problemu to: poinformowanie klienta OS X, aby używał uprzywilejowanego portu, jak odkryłeś, lub skonfigurowanie serwera NFS, aby zezwalał na porty nieuprzywilejowane (sprawdź to w dokumentacji serwera).
Jak przekonać OS X do korzystania z uprzywilejowanego portu za pomocą GUI? O ile mi wiadomo, nie można w wersjach> 10.6. Jeden z nich był w stanie zamontować udziały NFS w Narzędziu dyskowym i wpisać dodatkowe opcje, ale zostało to usunięte. ( szczegóły ) To nigdy nie był prosty przycisk ani nic takiego. NFS nie jest czymś, czego większość „nietechnicznych” tłumów potrzebuje, więc myślę, że nie był to priorytet, a istnieją powody, aby rutynowo używać uprzywilejowanych portów, nie jest świetnym pomysłem.
Nie próbowałem tego, ale wydaje się , że http://www.bresink.com/osx/NFSManager.html pozwala na konfigurację funkcji NFS OS X bez wiersza poleceń.
źródło
insecure
opcje są dostępne/etc/exports
. Na przykład:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)