jueves, 17 de junio de 2010

AutoFS, homes de usuarios en un único servidor Solaris 10

Vamos a ver un procedimiento que nos va a permitir acceder a los ficheros de un usuario en un único servidor Solaris 10 desde cualquier otro host de la red.

Para crear los directorios de usuario o /homes/[nombre de usuario] en un servidor único debemos usar diferentes tecnologías.

  • NFS para compartir los directorios con otros hosts a través de la red.
  • AutoFS para auto montar los directorios cuando un usuario acceda a los mismos desde cualquier host. Esto implica tener un fichero auto_master y auto_home en cada hosts que indique el mapeo de directorios al servidor.
  • Un servicio de nombres y lo mas común es la integración de un servicio de directorio. NIS, NIS+, LDAP,DNS o Hosts.
Procedimiento

Para hacer este procedimiento los nombres se resuelven en el archivo /etc/hosts (no usamos servicio de directorio que sería lo normal para identificación única) donde tenemos que agregar la dirección IP y el nombre de host de cada host donde vayamos a tener un usuario con el autoFS configurado.

1.- Añadir dirección IP y nombre de hosts al archivo /etc/hosts del servidor y los clientes o hosts si no existieran. También podemos usar un servidor de nombres DNS si lo tenemos.


2.- Creación de los directorios de usuario. Para ello necesitamos crear un directorio común en el servidor. Creamos el directorio /export/home si no lo está ya. Dentro de el se creará cada directorio con el nombre de usuario.

server1# mkdir -p /export/home

3.-Compartimos el directorio general de almacén de datos de usuario que hemos creado en el punto 2 y lo agregamos al directorio /etc/dfs/dfstab que contiene los directorios compartidos persistentes después del reinicio del servidor.

server1# echo “share -F nfs -o rw -d \”Directorios de Usuario\” /export/home” >> /etc/dfs/dfstab

Lo agregamos en modo lectura escritura. Y la descripción con -d.

Compartimos lo que hay en el fichero /etc/dfs/dfstab y comprobamos que esta compartido.

server1# shareall
server1# dfshares
RESOURCE                                  SERVER ACCESS    TRANSPORT
server1:/export/home                   server1         -                      -

Si no sale el recurso es que hay un error en la nomenclatura de share al incluirlo en el archivo /etc/dfs/dfstab y hay que corregirlo.

4.- Creamos el usuario en cada host, incluido el servidor, donde vayamos a usar el usuario. En el servidor crearemos el usuario con el uid idéntico al usuario que ya esta creado en otros hosts o le ponemos uno libre. Una vez en el servidor, lo creamos en todos los hosts donde vayamos a usar el usuario con el mismo uid. En el servidor le creamos con el directorio real donde vamos a tener los datos /export/home, en los otros hosts ponemos el directorio “virtual” que vamos a usar con autoFS, es decir, /home.. En este caso es

server1# useradd -u 1000 -m -d /export/home/[nomuser] -s /usr/bin/bash [nomuser]

una vez creado lo modificamos para usar el directorio “virtual” /home/[nomuser] en el servidor

server1# usermod -d /home/[nomuser] [nomuser]

En el host no hace falta crear el directorio (-m) ya que ya está creado en el servidor y el autoFS ya se encarga de mapearnos al servidor. Es necesario que en /home no haya nada.

host1# useradd -u 1000 -d /home/[nomuser] -s /usr/bin/bash [nomuser]

5.- En el fichero /etc/auto_master del servidor y cada host creamos un mapeo indirecto para que se monten automáticamente los directorios que se encuentren en el fichero /etc/auto_home en /home. Tenemos que añadir la linea siguiente y comentar +auto_home ya que usa la base de datos de NIS si existe.

/home auto_home  -nobrowse,soft,intr

En las opciones de montaje ponemos soft para que muestre un error en el caso de que no se encuentre el servidor NFS e intr para permitir la interrupción por teclado. La opción nobrowse indica que solo se puedan ver los directorios en /home después de ser montados y no antes. Soft no lo usan los clientes NFSv4 e intr está por defecto.

6.- En el fichero /etc/auto_home del servidor y cada host añadimos la siguiente linea por cada usuario que apunte al directorio real de usuario en el servidor.

[nomuser]  server1:/export/home/&
pablito  server1:/export/home/&

El & es un comodín que se sustituye por el nombre de usuario del principio de la linea. [nomuser] es el nombre de usuario, pero indica el directorio dentro de /home que se va a montar al acceder a el.

7.- Comprobamos el auto montaje.

server1# ls -la /home/pablito
ls -l /home/pablito
total 6
-rw-r--r--   1 pablito  other        136 Mar  9 13:50 local.cshrc
-rw-r--r--   1 pablito  other        157 Mar  9 13:50 local.login
-rw-r--r--   1 pablito  other        174 Mar  9 13:50 local.profile

Como vemos se ha montado automáticamente /home/pablito apuntando a /export/home/pablito.
Related Posts with Thumbnails