Exporto un directorio en una caja de Linux y puedo montarlo desde otra caja de Linux usando
# mount -t nfs kurush:/media/lynk /mnt/kurush/
El mismo comando falla en 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
Al mismo tiempo, kurush:/var/logs/syslog
registra esta línea:
rpc.mountd[7943]: authenticated mount request from sds-MacBook-Pro.home:1009 for /media/lynk (/media/lynk)
Cuando intento ir a través de la GUI (buscador-> conectar al servidor-> nfs://kurush/media/lynk
-> conectar), obtengo un error inmediato (no puedo conectarme y c) y el syslog de Linux Box registra el authenticated mount request
.
El problema se resuelve utilizando un puerto privilegiado :
Línea de comando:
sudo mount -o resvport -t nfs kurush:/media/lynk /Volumes/lynk
Para habilitar la GUI:
sudo vifs
luego agrega una línea
kurush:/media/lynk /Volumes/lynk nfs resvport,ro,user,noauto
Las preguntas son :
¿Por qué necesito usar un puerto privilegiado? ¿Es algo que hago en el lado de Linux? Me parece recordar que alguna vez monté esa parte sin la magia antes mencionada.
¿Cómo le digo a MacOSX que use el puerto privilegiado sin usar la línea de comando? Pensé que Apple era para la multitud "no tecnológica", ¡así que debe ser posible!
Respuestas:
¿Por qué tienes que hacerlo? Tradición, en su mayoría. Érase una vez, restringir NFS a puertos privilegiados (<1023) se consideraba una medida de seguridad. Cuando la gente usaba computadoras mainframe, esto aseguraba que el software NFS en el lado del cliente fuera parte del sistema operativo / aprobado por el administrador, ya que un programa solo puede usar un puerto privilegiado si es ejecutado por el usuario root. Hoy en día, esto no tiene sentido porque cualquiera puede tener una computadora y tener acceso a la raíz, por lo que esto no significa nada en términos de seguridad.
Por defecto, muchos servidores NFS no permiten puertos de origen sin privilegios. Algunos clientes NFS (como los de Ubuntu) usan de manera predeterminada un puerto fuente privilegiado a menos que se especifique lo contrario, por lo que su cliente Linux funciona sin problemas. Claramente, el cliente OS X no hace esto. No sé si fue una elección de diseño de Apple o algo heredado de BSD. Sé que Solaris también se predetermina a un puerto no privilegiado.
Las dos formas de evitar este problema son, decirle al cliente OS X que use un puerto privilegiado, como descubrió, o configurar su servidor NFS para permitir puertos no privilegiados (búsquelo en la documentación de su servidor).
¿Cómo hace que OS X use un puerto privilegiado usando una GUI? Hasta donde yo sé, no puedes en versiones> 10.6. Uno solía poder montar recursos compartidos NFS en la Utilidad de Discos y escribir opciones adicionales, pero eso fue eliminado. ( detalles ) Nunca fue un simple botón ni nada. NFS es apenas algo que la mayoría de la multitud "no técnica" necesita, por lo que supongo que no era una prioridad y hay razones por las que el uso rutinario de puertos privilegiados no es una gran idea.
No lo he probado, pero http://www.bresink.com/osx/NFSManager.html parece permitir la configuración de las funciones NFS de OS X sin la línea de comando.
fuente
insecure
opciones/etc/exports
. Por ejemplo:/media/sda3 192.168.1.0/24(rw,async,no_subtree_check,insecure)