14 votes

Pourquoi le montage d'un partage nfs depuis linux nécessite-t-il l'utilisation d'un port privilégié ?

J'exporte un répertoire sur une machine linux et je peux le monter depuis une autre machine linux à l'aide de la fonction

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

La même commande échoue sur 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

En même temps, kurush:/var/logs/syslog enregistre cette ligne :

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

Lorsque j'essaie de passer par l'interface graphique (finder->connecter au serveur-> nfs://kurush/media/lynk ->connect), j'obtiens un immédiat (impossibilité de se connecter &c) et le syslog de la machine linux enregistre le message. authenticated mount request .

Le problème est résolu en utilisant un port privilégié :

Ligne de commande :

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

Pour activer l'interface graphique :

sudo vifs

puis ajoutez une ligne

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

Les questions sont les suivantes :

  • Pourquoi Dois-je utiliser un port privilégié ? Est-ce quelque chose que je dois faire du côté linux ? Je crois me souvenir qu'il fut un temps où je montais ce partage sans la magie susmentionnée.

  • Comment Comment indiquer à MacOSX d'utiliser le port privilégié sans utiliser la ligne de commande ? Je croyais qu'Apple s'adressait aux non-techniciens, alors ça doit être possible !

12voto

Michael D. M. Dryden Points 1165

Pourquoi devez-vous le faire ? La tradition, principalement. Il fut un temps où la restriction de NFS aux ports privilégiés (<1023) était considérée comme une mesure de sécurité. À l'époque où les gens utilisaient des ordinateurs centraux, cela permettait de s'assurer que le logiciel NFS côté client faisait partie du système d'exploitation/approuvé par l'administrateur, puisqu'un programme ne peut utiliser un port privilégié que s'il est exécuté par l'utilisateur Root. Aujourd'hui, cela n'a aucun sens car n'importe qui peut posséder un ordinateur et avoir un accès Root, ce qui ne veut rien dire en termes de sécurité.

Par défaut, de nombreux serveurs NFS n'autorisent pas les ports sources non privilégiés. Certains clients NFS (comme celui d'Ubuntu) utilisent par défaut un port source privilégié, sauf indication contraire, ce qui explique pourquoi votre client Linux fonctionne sans problème. Clairement, le client OS X ne fait pas cela. Je ne sais pas si c'est un choix de conception d'Apple ou quelque chose d'hérité de BSD. Je sais que Solaris utilise également par défaut un port non privilégié.

Les deux moyens d'éviter ce problème sont de dire au client OS X d'utiliser un port privilégié, comme vous l'avez découvert, ou de configurer votre serveur NFS pour autoriser les ports non privilégiés (consultez la documentation de votre serveur).

Comment faire pour qu'OS X utilise un port privilégié en utilisant une interface graphique ? Pour autant que je sache, vous ne pouvez pas le faire sur les versions > 10.6. Avant, il était possible de monter des partages NFS dans l'Utilitaire de disque et de saisir des options supplémentaires, mais cela a été supprimé. ( détails ) Il n'a jamais été question d'un simple bouton ou autre. NFS n'est pas quelque chose dont la plupart des personnes "non techniques" ont besoin, donc je suppose que ce n'était pas une priorité et il y a des raisons pour lesquelles l'utilisation routinière de ports privilégiés n'est pas une bonne idée.

Je ne l'ai pas essayé, mais http://www.bresink.com/osx/NFSManager.html semble permettre la configuration des fonctionnalités NFS d'OS X sans la ligne de commande.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X