J'exporte un répertoire sur une boîte Linux et je peux le monter à partir d'une autre boîte Linux en utilisant
# 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-> se connecter au serveur-> nfs://kurush/media/lynk
-> se connecter), j'obtiens un échec immédiat (impossible de se connecter & c) et la boîte linux syslog enregistre le 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 :
Pourquoi dois-je utiliser un port privilégié? Est-ce quelque chose que je fais du côté Linux? Il me semble me rappeler qu'il était une fois que j'ai monté cette part sans la magie susmentionnée.
Comment dire à MacOSX d'utiliser le port privilégié sans utiliser la ligne de commande? Je pensais qu'Apple était pour la foule "non-technophile", donc ça doit être possible!
Réponses:
Pourquoi faut-il? Tradition, surtout. Il était une fois, restreindre NFS à des ports privilégiés (<1023) était considéré comme une mesure de sécurité. À l'époque où les gens utilisaient des ordinateurs centraux, cela garantissait que le logiciel NFS côté client faisait partie du système d'exploitation / approuvé par l'administrateur, car 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, donc cela ne signifie rien en termes de sécurité.
Par défaut, de nombreux serveurs NFS n'autorisent pas les ports source non privilégiés. Certains clients NFS (comme ceux d'Ubuntu) utilisent par défaut un port source privilégié, sauf indication contraire, c'est pourquoi votre client Linux fonctionne sans problème. De toute évidence, le client OS X ne fait pas cela. Je ne sais pas si c'était un choix de conception Apple ou quelque chose hérité de BSD. Je sais que Solaris utilise également par défaut un port non privilégié.
Les deux façons 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 (recherchez-le dans la documentation de votre serveur).
Comment faire pour que OS X utilise un port privilégié à l'aide d'une interface graphique? Pour autant que je sache, vous ne pouvez pas sur les versions> 10.6. L'un était capable de monter des partages NFS dans l'Utilitaire de disque et de taper des options supplémentaires, mais cela a été supprimé. ( Détails ) Il n'a jamais été un bouton simple , ou quoi que ce soit. NFS n'est guère quelque chose dont la plupart des utilisateurs "non-tech" ont besoin, donc je suppose que ce n'était pas une priorité et qu'il y a des raisons d'utiliser régulièrement des 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.
la source
insecure
options de/etc/exports
. Par exemple:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)