Я экспортирую каталог на ящик linux и могу смонтировать его из другого ящика linux используя
# mount -t nfs kurush:/media/lynk /mnt/kurush/
Сбой той же команды в 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
В то же время kurush:/var/logs/syslog
записывает эту строку:
rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)
Когда я пытаюсь перейти через GUI (finder-> connect to server-> nfs://kurush/media/lynk
-> connect), я получаю немедленный сбой (не удается подключиться и c), и системный журнал linux box записывает authenticated mount request
.
Проблема решается с помощью привилегированного порта :
Командная строка:
sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk
Чтобы включить графический интерфейс:
sudo vifs
затем добавьте строку
kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto
Вопросы :
Почему мне нужно использовать привилегированный порт? Это то, что я делаю на стороне Linux? Кажется, я вспоминаю, что однажды я установил эту акцию без вышеупомянутой магии.
Как сказать MacOSX использовать привилегированный порт без использования командной строки? Я думал, что Apple была для "нетехнической" толпы, так что это должно быть возможно!
Ответы:
Почему ты должен? Традиция, в основном. Когда-то ограничение NFS привилегированными портами (<1023) считалось мерой безопасности. В те времена, когда люди использовали мэйнфрейм-компьютеры, это гарантировало, что программное обеспечение NFS на стороне клиента было частью ОС / утверждено администратором, поскольку программа может использовать привилегированный порт, только если она запускается пользователем root. Сегодня это не имеет смысла, потому что любой может владеть компьютером и иметь root-доступ, так что это ничего не значит с точки зрения безопасности.
По умолчанию многие серверы NFS не допускают непривилегированные исходные порты. Некоторые клиенты NFS (например, Ubuntu) по умолчанию используют привилегированный порт источника, если не указано иное, поэтому ваш клиент Linux работает без проблем. Ясно, что клиент OS X этого не делает. Я не знаю, был ли это выбор дизайна Apple или что-то унаследованное от BSD. Я знаю, что по умолчанию Solaris использует непривилегированный порт.
Существует два способа избежать этой проблемы: указание клиенту OS X использовать привилегированный порт, как вы обнаружили, или настройка сервера NFS для разрешения непривилегированных портов (см. Его в документации вашего сервера).
Как заставить OS X использовать привилегированный порт с графическим интерфейсом? Насколько я знаю, вы не можете на версии> 10.6. Раньше была возможность смонтировать общие ресурсы NFS в Дисковой утилите и ввести дополнительные параметры, но это было удалено. ( детали ) Это никогда не было простой кнопкой или чем-то еще. NFS вряд ли является чем-то, что нужно большинству «нетехнических» людей, поэтому я думаю, что это не было приоритетом, и есть причины, по которым обычное использование привилегированных портов не является хорошей идеей.
Я не пробовал, но http://www.bresink.com/osx/NFSManager.html позволяет конфигурировать функции NFS в OS X без командной строки.
источник
insecure
опции в/etc/exports
. Например:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)