Чому для монтажу частки nfs з Linux потрібне використання пільгового порту?


10

Я експортую каталог у вікно 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)

Коли я намагаюся перейти через графічний інтерфейс (finder-> підключення до сервера-> nfs://kurush/media/lynk-> підключення), я отримую негайний збій (не в змозі підключитися & c) і syslog linux box записує записи authenticated mount request.

Проблема вирішується за допомогою пільгового порту :

Командний рядок:

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

Щоб увімкнути GUI:

sudo vifs

потім додайте рядок

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

Питання :

  • Чому мені потрібно використовувати пільговий порт? Це я щось роблю на стороні Linux? Здається, я згадую, що колись я монтував цю частку без згаданої магії.

  • Як мені сказати MacOSX використовувати привілейований порт без використання командного рядка? Я думав, що Apple - це для натовпу "не техніків", тому це повинно бути можливим!


Привіт. Зазвичай ми закриваємо питання, які існують, щоб запитати "Чому Apple зробила X?" але тут є деякі приємні технічні деталі. Ваше питання може спрацювати краще, якщо ви просто задасте питання (відредагуйте його), а потім помістіть усю відповідь у розділ відповідей. Якщо вам потрібно задати наступне запитання, пояснюючи, у чому проблема - можливо, це може спрацювати. Що ви зрештою зробите з розповіддю про "чому" Apple, створивши це так?
bmike

1
@bmike: я змінив "чому" на "як".
sds

Відповіді:


8

Чому це потрібно? Традиція, в основному. Колись обмеження NFS до привілейованих портів (<1023) вважалося заходом безпеки. Ще коли люди використовували комп'ютери з основним кадром, це переконалося, що програмне забезпечення NFS на стороні клієнта було частиною ОС / затвердженою адміністратором, оскільки програма може використовувати привілейований порт лише у тому випадку, коли ним керує користувач root. Сьогодні це не має сенсу, оскільки кожен може мати власний комп’ютер та мати кореневий доступ, тому це не означає нічого з точки зору безпеки.

За замовчуванням багато серверів NFS не дозволяють непривілейовані порти джерела. Деякі клієнти NFS (наприклад, Ubuntu) за замовчуванням використовують привілейований вихідний порт, якщо інше не вказано, тому ваш клієнт Linux працює без проблем. Зрозуміло, що клієнт OS X цього не робить. Я не знаю, чи це був вибір дизайну Apple або щось, що успадковано від BSD. Я знаю, що Solaris також використовує типовий порт, який не має пільги.

Два способи уникнути цієї проблеми - сказати клієнту OS X використовувати привілейований порт, як ви виявили, або налаштувати ваш сервер NFS для дозволу непривілейованих портів (перегляньте це в документації вашого сервера).

Як змусити OS X використовувати привілейований порт за допомогою GUI? Наскільки я знаю, ви не можете в версіях> 10.6. Один використовувався для монтажу NFS-акцій у Disk Utility та введення додаткових опцій, але це було видалено. ( деталі ) Це ніколи не була простою кнопкою чи чим-небудь. NFS навряд чи щось, що потрібно більшості "нетехнологічного" натовпу, тому я думаю, що це не було пріоритетним завданням, і є причини, коли регулярно використовувати пільгові порти - це не чудова ідея.

Я не пробував цього, але http://www.bresink.com/osx/NFSManager.html, здається, дозволяє конфігурувати NFS функції OS X без командного рядка.


1
Про "або налаштування вашого сервера NFS для дозволу непривілейованих портів": для nfs-kernel-сервера це insecureпараметри в /etc/exports. Наприклад:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)
tungd

дякую, небезпечно дозволяє Mac підключитися до NFS за допомогою Finder -> Go -> Підключитися до сервера
waza123

Сьогодні це стосується систем безпеки, як правило, в межах внутрішньої мережі, а не через Інтернет. Оскільки системи, як правило, монтують загальні файли NFS у файловій системі, є багато можливостей для зловживань. Вимога привілейованих портів все ще не дає користувачам маніпулювати файловою системою, коли вони не повинні. Звичайно, якщо користувач вже має root, це не має значення.
jtpereyda
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.