15.6. Montando un Volumen NetWare Remoto

IPX se usa comúnmente para montar volúmenes NetWare en el sistema de ficheros de Linux. Esto permite comparticiones de datos basadas en ficheros entre otros sistemas operativos y Linux. Volker Lendecke ha desarrollado el cliente NCP para Linux y un juego de herramientas asociadas que hacen posible la compartición de datos.

En un entorno NFS, hemos usado la orden mount de Linux para montar el sistema de ficheros remoto. Desafortunadamente, el sistema de ficheros NCP posee requisitos propios que hacen poco práctico integrarlo dentro del mount normal. Linux tiene un orden ncpmount que es el que usaremos en su lugar. El orden ncpmount es una de las herramientas del paquete ncpfs de Volker, que está disponible preempaquetado en la mayoría de las distribuciones modernas o en código fuente en el directorio /pub/linux/misc/ncpfs/ de ftp.gwdg.de. La versión actual en el momento de escribir esto es la 2.2.0.

Antes de poder montar volúmenes NetWare, debe asegurarse de que su interfaz de red IPX está configurada correctamente (como se ha descrito anteriormente). Luego debe conocer sus detalles de ingreso (login) en el servidor NetWare que quiere montar; esto incluye la ID de usuario y la contraseña. Finalmente, necesita saber qué volumen desea montar y sobre qué directorio local quiere montarlo.

15.6.1. Un Sencillo Ejemplo de ncpmount

Un sencillo ejemplo del uso de ncpmount:
    # ncpmount -S ALES_F1 -U rick -P d00-b-gud /mnt/cerveceria
Este orden monta todos los volúmenes del servidor de ficheros ALES_F1 sobre el directorio /mnt/cerveceria, utilizando el nombre de ingreso rick con la contraseña d00-b-gud.

Normalmente, se pone el setuid dla orden ncpmount a root, y así puede ser utilizado por cu alquier usuario de Linux. Por defecto, ese usuario posee la conexión y sólo él o root podrá desmontarla.

NetWare incorpora la noción de volumen, que es análoga a un sistema de ficheros en Linux. Un volumen NetWare es la representación lógica de una sistema de ficheros NetWare, que puede ser una partición de disco individual o estar diseminada por muchas particiones. Por defecto, el soporte de NCPFS de Linux trata a los volúmenes como subdirectorios de una sistema de ficheros lógico mayor representado por todo el servidor de ficheros. la orden ncpmount hace que todos los volúmenes NetWare del servidor de ficheros montado aparezcan como un subdirectorio sobre el punto de montaje. Esto es conveniente si quiere acceso a todo el servidor, pero por razones técnicas complejas no podrá reexportar estos directorios usando NFS, en el caso de que desee hacerlo. En un momento discutiremos una alternativa más compleja que resuelve este problema.

15.6.2. La Orden ncpmount en Detalle

ncpmount tiene una gran número de opciones de línea de ordens que le ofrecen bastante flexibilidad a la hora de administrar sus montajes NCP. La más importante de todas se describe en la Tabla 15-2.

Tabla 15-2. Argumentos dla orden ncpmount

ArgumentoDescripción

–S server

El nombre del servidor de ficheros a montar.

–U user_name

La ID del usuario NetWare a utilizar al ingresar en el servidor de ficheros.

–P password

La contraseña a utilizar para el ingreso NetWare.

–n

Se debe utilizar esta opción para los ingresos NetWare que no tienen asociados una contraseña.

–C

Este argumento desactiva la conversión automática de contraseñas a mayúsculas.

–c client_name

Esta opción le permite especificar quién posee la conexión al servidor de ficheros. Esto es útil para imprimir con NetWare, de lo que hablaremos luego con más detalle.

–u uid

La ID de usuario de GNU/Linux que debe mostrarse como dueño de los ficheros en el directorio montado. Si no se especifica, se toma por defecto la ID de usuario que invoca a la orden ncpmount.

–g gid

La ID de grupo que debe mostrarse como dueño de los ficheros del directorio montado. Si no se especifica, se toma por defecto el ID de grupo del usuario que invoca a la orden ncpmount.

–f file_mode

Esta opción le permite especificar el modo de fichero (permisos) que deben tener los ficheros del directorio montado. El valor se debe especificar en octal, p. ej., 0664. Los permisos que tendrá realmente son los permisos de fichero especificados con esta opción enmascarados con los permisos que tiene su ID de NetWare para los ficheros del servidor de ficheros. Debe poseer privilegios en el servidor y los privilegios especificados por esta opción para poder acceder a un fichero. El valor predeterminado se deriva del umaskactual.

–d dir_mode

Esta opción le permite especificar los permisos de directorio en el directorio montado. Se comporta de la misma manera que la opción –f, excepto en que los permisos predeterminados se derivan del umask actual. Se concede el permiso de ejecución cuando se concede el acceso de lectura.

–V volume

Esta opción le permite especificar el nombre de un volumen NetWare individual a montar bajo el punto de montaje, en lugar de montar todos los volúmenes del servidor de destino. Esta opción es necesaria si desea reexportar un volumen NetWare montado utilizando NFS.

–t time_out

Esta opción le permite especificar el tiempo que esperará el cliente NCPFS a la respuesta de un servidor. El valor predeterminado es 60ms y el tiempo de espera se especifica en centésimas de segundo. Si experimenta algún problema de estabilidad al montar con NCP, pruebe a incrementar este valor.

–r retry_count

El código de cliente de NCP intenta reenviar datagramas al servidor un número de veces antes de decidir que la conexión está muerta. Esta opción le permite cambiar el número de reintentos, que por omisión es 5.

15.6.3. Escondiendo Su Clave de Acceso NetWare

Es un problema de seguridad poner una clave en la línea de orden, como hicimos con la orden ncpmount. Otros usuarios activos y concurrentes podrían ver la clave si se les ocurre ejecutar un programa como top o ps. Para reducir el riesgo de que otros vean y roben claves de acceso NetWare, ncpmount es capaz de leer ciertos detalles de un fichero en el directorio raíz de un usuario. En este fichero, el usuario mantiene el nombre de acceso y la clave asociada a cada uno de los sistemas de ficheros que él o ella tiene intención de montar. El fichero se llama ~/.nwclient y debe tener los permisos 0600 para asegurar que no puedan leerlo otros. Si los permisos no son correctos, la orden ncpmount rehusará utilizarlo.

El fichero tiene una sintaxis muy simple. Cualquier línea que empieze por un carácter # es considerada como un comentario y se ignora. El resto de las líneas tienen la sintaxis:
    servidor/id clave
El servidor es el nombre del servidor de ficheros que contiene los volúmenes que se desean montar. La id es el nombre de acceso de su cuenta en ese servidor. El campo clave es opcional. Si no es proporcionado, la orden ncpmount le pide al usuario la clave cuando intenta montar. Si se especifica el campo clave con un carácter –, no se utiliza ninguna clave; esto es equivalente al argumento de línea de orden –n.

Puede proporcionar cualquier número de entradas, pero el servidor de ficheros debe ser único. La primera entrada tiene una significación especial. la orden ncpmount utiliza el argumento de línea de orden –S para determinar qué entrada de ~/.nwclient usar. Si no se especifica ningún servidor utilizando el argumento –S, se considera la primera entrada de ~/.nwclient, y es tratada como su servidor preferido. Debe situar el servidor de ficheros que monte más frecuentemente en la primera posición del fichero.

15.6.4. Un Ejemplo Más Complejo De ncpmount

Veamos un ejemplo más complejo de ncpmount que utilice unas cuantas de las características que hemos descrito. Primero, construyamos un fichero ~/.nwclient simple:
    # Detalles de acceso NetWare para la Cervecera y la Vinatera Virtuales
    #
    # Acceso a la Cervecera
    ALES_F1/MATT staoic1
    #
    # Acceso a la Vinatera
    REDS01/MATT staoic1
    #
Asegúrese de que los permisos son correctos:
    $ chmod 600 ~/.nwclient

Montemos un volumen del servidor de la Vinatera bajo un subdirectorio de un directorio compartido, especificando unos permisos de fichero y directorio tales que otros puedan compartir los datos situados en él:
    $ ncpmount -S REDS01 -V RESEARCH -f 0664 -d 0775 /usr/share/vinatera/datos/
Esta orden, en combinación con el fichero ~/.nwclient mostrado, montaría el volumen RESEARCH del servidor REDS01 en el directorio /usr/share/vinatera/datos/ utilizando la ID de acceso NetWare de MATT y la clave obtenida del fichero ~/.nwclient. Los permisos de los ficheros montados son 0664 y los permisos de directorio son 0775.