Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31...

32
Software de Comunicaciones Práctica 8 - Sistemas de Archivo remoto. NFS y SAMBA Juan Díez-Yanguas Barber Software de Comunicaciones Ingeniería Informática - 5º Curso ______________________________________________________________________________________ © Jdyb - Abril 2013

Transcript of Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31...

Page 1: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

Software de Comunicaciones

Práctica 8 - Sistemas de Archivo remoto. NFS y SAMBA

Juan Díez-Yanguas Barber

Software de Comunicaciones

Ingeniería Informática - 5º Curso

______________________________________________________________________________________© Jdyb - Abril 2013

Page 2: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

Índice

1. Network File System. NFS! 3

1.1. Instalación de NFS ! 3

1.2. Configuración del sistema! 4

1.3. Configuración de NFS! 6

1.4. Listar las exportaciones de un servidor! 11

1.5. Opciones de configuración adicionales! 12

1.6. Opciones de seguridad en Mac! 15

2. SAMBA! 18

2.1. Instalación de Samba! 18

2.2. Inicio del servicio! 19

2.3. Configuración de Samba! 20

2.3.1. Configuración de usuarios! 20

2.3.2. Configuración de resolución de nombres Netbios! 20

2.3.3. Parámetros de configuración principales! 21

2.3.4. Parámetros de seguridad! 22

2.3.5. Compartir directorios con Samba! 22

2.4. Pruebas de acceso! 24

3. Partes opcionales! 30

3.1. Servicio NIS! 30

3.2. Sistemas de archivos AFS y GFS ! 31

3.2.1. AFS! 31

3.2.2. GFS! 32

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 2!

Page 3: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

1. Network File System. NFS! En la primera parte de la práctica trabajaremos sobre NFS, que es un sistema de archivos distribuido, el cual permitirá a un cliente montar y acceder a un directorio remoto que ha sido exportado por un servidor NFS.

! El servicio aprovecha las características de las llamadas a procedimiento remoto, esta es la razón por la que necesita que se instalen primero las librerías de RPC que serán o RPCBind o Portmap dependiendo de la distribución en nuestra distribución las librerías que se usarán serán las de Portmap.

1.1. Instalación de NFS! En este apartado se procederá a la instalación de NFS, para instalar el servicio nos dirigimos a nuestro directorio /usr/local/src/nfs/ en el directorio encontraremos tres paquetes, que serán el nfs, las librerías que usa y las librerías de Portmap. En dichos paquetes está incluido tanto el cliente como el servidor.

! Estos paquetes habrá que instalarlos también en el cliente, aunque obviamente en el cliente no habrá que arrancar el servicio demonio del nfs, ya que no se exportará ningún directorio.

! También será necesario el paquete nfs-lock para la gestión de bloqueos de los archivos cuando dos clientes intenten escribir en un mismo archivo y situaciones similares. Dicho servicio también está incluido en los paquetes que vamos a instalar.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 3!

Page 4: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Pasamos ahora a instalar todos los paquetes, para instalar todos los que se encuentran en el directorio de instaladores ejecutaremos rpm -ivh *.rpm dentro del directorio /usr/local/src/nfs.

! Después de este paso ya está instalado todo lo necesario para usar NFS en nuestra máquina.

1.2. Configuración del sistema! Sin arrancar el servicio ni configurar nada podemos listar los servicios y su configuración de arranque en los distintos niveles del sistema operativo. Podemos observar que NFS no se ha configurado para arrancar, sin embargo al parecer la librería de llamadas a procedimiento remoto o RPC necesaria para el funcionamiento del servicio si que ha sido configurada para arrancar automáticamente durante la instalación.

! De hecho podemos comprobar que recién arrancada la máquina sin haber ejecutado nada, que el servicio está activo y escuchando peticiones. Por otra parte podemos ver también rpc.statd, que al parecer buscando por internet es un demonio usado en NFS para obtener información sobre los bloqueos (locks), lo que tiene sentido después de lo que hemos comentado en el apartado de la instalación.

! Ahora observaremos también que la configuración de arranque tiene una peculiaridad, nos fijaremos en el número que se le asigna al arranque y veremos que es

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 4!

Page 5: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

un número, y si se prepara nfs para el arranque usará un número mayor. Esto es para que cuando se arranque nfs ya esté la librería de portmap iniciada, lo que es necesario para el funcionamiento de nfs.

! Pasaremos ahora a iniciar el servicio con el comando correspondiente, y veremos que el servicio arranca correctamente.

! Nos fijaremos de nuevo en los puertos a la escucha en el sistema con los procesos asignados a cada uno de ellos (indicados por el nombre y PID), veremos ahí los puertos que usa el servicio instalado. Como ya hemos adelantado se observan varios demonios activos en los diferentes puertos, debido al uso que hace de otras librerías como la de RPC.

! Observamos que el puerto de escucha es para portmap es el 111 en TCP y UDP

! rpc.mound: Demonio que implementa el protocolo de montaje de NFS.

! rpc.rquotad: Encargado del mantenimiento de las quotas en el servidor.

! Una vez observados brevemente estos aspectos sobre el funcionamiento del servicio lo que veremos es la configuración del mismo en los siguientes apartados.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 5!

Page 6: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

1.3. Configuración de NFS! En este apartado configuraremos el servicio con el fin de compartir algún directorio y las opciones de la compartición, como por ejemplo el apartado de los permisos.

! Lo primero que tenemos que hacer es localizar el fichero de configuración del servicio, situado en /etc/exports. Cada línea de este fichero será un directorio a exportar, que contendrá el directorio en concreto, la direcciones o rango desde las que es posible el acceso y los permisos. Nos encontraremos con el que fichero ya está creado, pero está completamente vacío.

! Crearemos por ejemplo un primer directorio compartido que será /var/prueba y estará solo accesible desde la red de virtual de VMWare (si se quiere dar permiso a cualquier host se puede poner asterisco). Serán proporcionados permisos de escritura y lectura para el nuevo directorio compartido.

! Posteriormente lo que habrá que hacer es reiniciar el servicio para aplicar los cambios.

! Para ellos nos hemos de dirigir a otra máquina de la red y ejecutar el comando mount correspondiente. Este comando habrá que ejecutarlo como root, aunque después puedan usar el directorio compartido los usuarios que no sean root. Hablaremos sobre los permisos más adelante. Para ejecutar este comando debe de estar en ejecución el demonio de portmap en el cliente ya que como comentamos se usan los RPC para la comunicación.

  mount  -­‐t  nfs  172.16.183.100:/var/prueba  /mnt/montajes

! A continuación observamos el directorio en el servidor y en la máquina cliente.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 6!

Page 7: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Observemos que los permisos del directorio /var/prueba son drwxr-xr-x, lo que significa que root tiene derechos de escritura y lectura, mientras que el grupo y los demás usuarios solo tienen derechos de lectura.

! Aunque ahora estemos como root en la máquina cliente veremos como no se puede escribir, y eso es porque por defecto se habilita la opción root_squash, lo que indica que las escrituras que haga el usuario root se van a mapear para el usuario nobody, y como hemos visto en la carpeta no había permisos de escritura nada más que para root.

! En NFS al escribir en los directorios del servidor los accesos se hacen bajo el mismo UID de usuario con que se esté ejecutando el cliente, salvo que se use squash que tiene como fin la anonimización, mapeando todos los accesos al usuario nobody que suele ser el usuario de menores permisos en unix. El usuario root siempre tiene UID 0.

! Se puede ver que esto tiene un problema, si un usuario “juan” tiene el UID 500 en la máquina cliente y se conecta otro cliente “marta” desde otra máquina con ese mismo UID. El usuario “marta” será propietaria de todo lo que haga “juan” por tener el mismo UID. Y además se pueden producir inconsistencias. Es necesario tener todos los sistemas con los UID coherentes si se quieren evitar problemas. De ahí que muchas veces se utilice la opción de anonimización squash y que esté habilitada de hecho por defecto solo para el usuario root.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 7!

Page 8: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Otra posible solución a este problema que se presenta será centralizar el control de las cuentas en otro sistema, por ejemplo mediante NIS (Network Information Service).

! Podemos desmontar el directorio en el cliente usando el siguiente comando, para ejecutarlo debemos de estar fuera del directorio montado, en nuestro caso fuera de /mnt/montajes/.

  umount    /mnt/montajes

!

! Vamos a exportar ahora un directorio /var/pruebas, el cual tiene permisos 777 y veremos como sin cambiar las opciones ahora se puede escribir desde el cliente que tenga montado el directorio.

! Ejecutamos ahora el comando de montaje en el cliente.

! Ahora comprobaremos como el directorio está correctamente montado.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 8!

Page 9: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Ahora intentaremos escribir desde el cliente, por ejemplo crearemos un nuevo directorio, por ejemplo “DirectorioDeRoot”. Ahora no hemos tenido problemas para crearlo.

! Pero si listamos el contenido del directorio montado nos encontraremos con que el directorio creado no es de root, sino del usuario nobody como ya se comentó.

! Y por ejemplo podemos entrar dentro y veremos que si nos deja escribir porque el propietario del nuevo directorio es nobody y la nueva escritura que hagamos se hará con el usuario nodoby.

!

! Podemos comprobar que solo se está mapeando a nobody el usuario root, pasaremos a un usuario juan en el cliente y crearemos un nuevo directorio. Veremos como en este caso se conservará el usuario.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 9!

Page 10: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Si ahora exportamos este mismo directorio con permisos de solo lectura veremos que aunque tenga permisos 777 no se puede escribir.

! Comprobamos que el cliente que ha montado el directorio no puede escribir.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 10!

Page 11: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

1.4. Listar las exportaciones de un servidor! Es posible listar los directorios que exporta un servidor mediante el siguiente comando.

  showmount  –e  dir_IP  

! Por ejemplo podemos ejecutarlo en nuestra máquina cliente y observar que deben salir dos directorios exportados, ya que mantenemos la misma configuración del apartado anterior.

! Se observa que muestra los directorios disponibles para el montaje y las direcciones origen desde las que se permite el montaje, en este caso como ya se comentó será posible el montaje desde toda la red en la que se encuentra la máquina servidor, que no es otra que la creada por VMWare.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 11!

Page 12: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

1.5. Opciones de configuración adicionales! Hemos introducido el concepto de squash en el primer apartado de configuración, en este apartado veremos las opciones concretas y veremos que se puede aplicar ese mismo concepto no solo al usuario de root sino al resto de los usuarios también.

! La opción root_squash como hemos dicho mapeará el usuario root a nobody como ya comprobamos en el apartado de configuración anterior. Y comprobamos que este era el comportamiento por defecto sin configurar nada. Si se quiere modificar este comportamiento se puede deshabilitar esta opción con no_root_squash. Hay que tener cuidado a la hora de añadir opciones de no introducir espacios entre las opciones de un mismo host. Veremos que no hemos puesto ningún espacio al añadir la coma.

! A continuación añadiremos la opción a la configuración y reiniciaremos el servidor para aplicar los cambios.

! El siguiente paso será montar el directorio como hemos hecho en ocasiones anteriores y posteriormente crear un directorio y en este caso veremos que la propiedad del nuevo directorio que creemos será root y no el usuario nobody ya que hemos deshabilitado la opción root_squash.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 12!

Page 13: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Por otra parte vimos también en el apartado de configuración que a un usuario no privilegiado no se le estaba aplicando squash, sino solo a root, si lo que queremos es que todo se haga con squash hay una opción disponible llamada all_squash, con esta opción se mapearán a nobody tanto los usuarios no privilegiados como root.

! Reiniciamos el servicio en el servidor como se ha hecho en ocasiones anteriores.

! Ahora montaremos el directorio como en ocasiones anteriores, crearemos contenido con root y con un usuario no privilegiado y veremos el resultado listando el contenido del directorio para observar su propietario y grupo.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 13!

Page 14: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Hemos comprobado que con la habilitación de la opción todos los accesos se mapean al usuario nobody.

! Finalmente ya que ha sido visto el tema de los permisos con detalle en el apartado de configuración se va a configurar la opción de las direcciones desde las que se permite el montaje, dejando como disponible únicamente a la máquina cliente que estamos usando.

! Se aplican los cambios reiniciando el servidor. Intentaremos montar ahora el directorio desde la máquina 172.16.183.200 con la que no se debería poder montar el directorio.

! Finalmente, comentar algunas opciones más que podemos encontrar disponibles en las opciones del directorio compartido que son anotadas entre paréntesis. Tenemos

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 14!

Page 15: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

disponible una opción llamada secure que lo que hará será obligar a que las conexiones que sean abiertas contra el servidor sean originadas en un puerto seguro, que serán los mil primeros. Esto tiene como consecuencia que solo podrán ser lanzadas conexiones desde un usuario root en la máquina cliente puesto que el usuario root es el único que tiene derechos sobre los puertos privilegiados.

! Por otra parte la opción subtree_check, que hace que el servidor compruebe que cuando se exporta un subdirectorio y no todo el sistema de ficheros, al recibir una petición de un archivo que esté disponible dentro del directorio exportado. Por tanto, al crear un fichero nuevo, si no se habilita esta opción no se comprueba si ya existe o no, por lo que se pueden producir colisiones. Pero por contra es una opción que genera una mayor carga en el servidor y no suele ser habilitada. De hecho por defecto está deshabilitada como si estuviera así “no_subtree_check”.

1.6. Opciones de seguridad en Mac! Dado que hemos tenido problemas al conectar al servidor NFS desde Mac porque da una advertencia especificando que se esperaba la conexión desde un puerto seguro como ya hemos adelantado en el paso anterior. Tenemos dos opciones para solucionar este problema.

! Si queremos conectar desde el terminal de Mac lo podemos hacer con este comando especificando que la conexión sea abierta desde un puerto seguro. El comando tendrá que ser ejecutado como root.

  mount_nfs  -­‐o  resvport  172.16.183.100:/var/pruebas  /Volumes

! Ahora comprobamos que el directorio se ha montado correctamente.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 15!

Page 16: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Desmontamos el volumen al igual que lo hemos hecho en Linux.

! Otra opción que podemos usar si no queremos tener que usar el terminal es modificar la configuración del servidor añadiendo la opción insecure.

! Reiniciamos el servicio y comprobamos que ahora lo podemos montar de manera normal desde Mac.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 16!

Page 17: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 17!

Page 18: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

2. SAMBA! En este apartado se estudiará otra forma para la compartición de archivos, en este caso será la implementación de Microsoft. Originalmente llamado SMB (Server Message Block) y ahora denominado como CIFS (Common Internet File System).

2.1. Instalación de Samba! Para la instalación de Samba lo que hemos de hacer es dirigirnos al directorio donde tenemos los paquetes de instalación de samba, que como siempre será en /usr/local/src, dentro del directorio ./samba.

! Si listamos el contenido del directorio veremos que nos encontramos con varios paquetes de instalación. Se cuenta con el cliente, el demonio del servidor y un paquete base, por otra parte también encontramos dependencias de librerías.

! Para instalarlo haremos como se ha hecho en ocasiones anteriores, ejecutando el comando rpm -ivh *.rpm.

! En este momento ya estaría instalado correctamente el servicio. En el siguiente apartado procederemos a arrancarlo y ver los puertos de escucha del mismo.

! Este servicio es más bien para Winows aunque existe la implementación para Linux, permitiéndose montar un servidor Samba bajo Linux, que será exactamente lo que vamos a llevar a cabo en la práctica.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 18!

Page 19: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

2.2. Inicio del servicio! En este apartado iniciaremos el servicio samba instalado en el apartado anterior, el script de samba estará bajo el nombre de smb. Parra arrancarlo lo haremos como se ha hecho hasta el momento con el comando service.

! Es conveniente remarcar que el servicio usa dos demonios, y de ahí que veamos los dos mensajes anteriores.

! nmbd: Componente de resolución de nombres. Anuncia los grupos de trabajo. Atiende las peticiones de resolución de nombres y anuncia los recursos compartidos. Escucha en el puerto 137 UDP.

! smbd: Autentifica usuarios y ofrece los recursos compartidos, que pueden ser tanto directorios y archivos como impresoras. Escucha en los puertos 139 TCP y 445 TCP.

! A continuación observaremos los puertos de escucha par comprobar si se corresponde con lo que hemos enunciado anteriormente sobre los puertos de escucha de ambos procesos demonio.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 19!

Page 20: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

2.3. Configuración de Samba

2.3.1. Configuración de usuarios

! Lo primero que hemos de hacer es disponer de un usuario de Samba. Hay varias opciones para la autenticación en el servicio.

• Local: No es la BD de usuarios de Linux, sino que es solo de Samba, pero por otra parte la cuenta que se cree en samba tiene que estar asignada a un usuario en el sistema Linux, aunque puede tener diferente contraseña.

• En red: El cliente se autenticará contra un servicio de directorio activo y si éste da permiso ya estará el cliente autenticado contra el sistema Linux.

! Las contraseñas de los usuarios de Samba están en un fichero diferente al de contraseñas de Linux ya que pueden tener diferente contraseña como ya se ha indicado. Estarán en el fichero /etc/samba/passdb.tdb.

! Para crear un nuevo usuario de Samba hay que usar una cuenta del sistema, asociando su contraseña de samba. En este caso lo haremos con el usuario juan que ya existe en el sistema como usuario del mismo.

  smbpasswd  –a  usuario

La contraseña puede ser modificada posteriormente con el mismo comando, pero sin la opción –a.

2.3.2. Configuración de resolución de nombres Netbios

! Por otra parte dentro de los ficheros de configuración de Samba que podemos ver en /etc/samba podemos ver uno llamado lmhosts.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 20!

Page 21: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Este fichero contiene las resoluciones de nombres de Netbios, que es protocolo de nombrado de Windows. Los nombres se asocian a las direcciones IP y como máximo el nombre puede tener una longitud de 11 caracteres.

! Debemos añadir entonces dentro del fichero el nombre que hayamos elegido a asociar a nuestra dirección IP. Opcionalmente podemos añadir también los nombres asociados a las direcciones IP que conformen la red local.

2.3.3. Parámetros de configuración principales

! En este apartado nos vamos a centrar en los principales parámetros de configuración que podemos encontrar en el fichero de configuración smb.conf.

! Empezaremos por cambiar el nombre del grupo de trabajo, para ello editaremos el valor de workgroup dentro del mencionado fichero de configuración.

! Opcionalmente se podrá establecer un nombre para el servidor con el parámetro netbios name, pero hay que tener en cuenta que el nombre que se asigne deberá coincidir con el nombre que se le ha asignado en el fichero lmhosts.

! El parámetro server string es simplemente un nombre descriptivo.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 21!

Page 22: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

2.3.4. Parámetros de seguridad

! La seguridad en este servicio definirá las máquinas o redes que pueden acceder hacia el servidor. El parámetro host allow sirve para definir esto.

! En nuestro caso tenemos que nuestra red es la 172.16.183.0/24, por lo tanto tendremos posibles conexiones desde la 172.16.183.1 hasta la 172.16.183.254, la manera de expresar esto será con los tres primeros octetos y dejando un espacio detrás del último punto. En la configuración pondremos la dirección de nuestra red y la de localhost.

! Por otra parte con el parámetro interfaces permite establecer desde que interfaces de la red se escucharán las peticiones, el servicio no escuchará peticiones desde una interfaz de red no especificada. No nos hemos de olvidar de localhost.

2.3.5. Compartir directorios con Samba

! También como hemos comentado se pueden compartir impresoras con este servicio pero no es el objetivo de esta práctica, sino que el objetivo será compartir directorios, de manera que saltaremos la configuración de impresoras para dirigirnos al las opciones para compartir directorios.

! Para compartir un directorio se le dará un nombre y posteriormente se indicarán distintas opciones, a continuación describimos varias de las opciones.

• comment: Un comentario que se desee poner.

• path: Ruta del directorio a compartir.

• browseable: Define si se permitirá mostrar este directorio en las listas de recursos compartidos. El valor será “yes” o “no”.

• writable: Establece si se permite o no la escritura. Este parámetro es lo contrario de read only.

• public: Define si se permitirá el acceso como usuario invitado o no.

• valid users: Define los usuarios o grupos que puede acceder al recurso compartido. Se establecerá mediante valores separados por comas.

• Create mask: Define los permisos que serán asignados a los nuevos ficheros que sean creados. Ejemplo 0644.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 22!

Page 23: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

• directory mask: Define los permisos que serán asignados a los directorios que sean creados. Ejemplo: 1777.

! Vamos a crear un directorio que llevará el nombre de “Compartido”, el acceso se permitirá a la carpeta /var/pub/ con derechos de escritura, será visible y solo tendrá acceso el usuario “juan” para el que hemos creado la contraseña.

! Ahora reiniciaremos el servicio para aplicar todos los cambios que hemos hecho en la configuración del mismo a lo largo de los apartados anteriores.

! Finalmente creamos el directorio que va a ser compartido.

! Posteriormente asignamos la propiedad del directorio a juan ya que sino es posible que después no podamos escribir por los permisos del sistema de archivos independientemente de la configuración de Samba.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 23!

Page 24: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

2.4. Pruebas de acceso! En este apartado verificaremos que las opciones que se han aplicado a lo largo de la configuración han sido efectivas. Probaremos primero desde la máquina anfitriona que cuenta con un sistema operativo Mac Os X.

! Nos dirigimos al explorador de archivos o Finder y abrimos el cuadro de diálogo para conectarse a un servidor.

! El siguiente paso nos pedirá el nombre de usuario y contraseña que será “juan” de usuario y “juan” de contraseña.

! En el siguiente paso nos mostrará los directorios compartidos que hay actualmente. Veremos que está el directorio compartido que hemos creado nosotros y también el de juan que aparece simplemente porque la sección homes del fichero de configuración indica como se comparten los directorios de usuario.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 24!

Page 25: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Ya tenemos montada la unidad en nuestro sistema de ficheros.

! Observamos que si tenemos derechos de escritura en el directorio debido al cambio de propiedad que hicimos en el apartado anterior.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 25!

Page 26: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! A continuación comprobamos que tenemos derechos de escritura escribiendo algunos archivos y creando algún directorio.

! Comprobamos que se han creado los archivos correctamente en el directorio compartido del servidor.

! Ahora lo que haremos será probarlo de la misma manera que lo hemos hecho anteriormente pero desde un sistema Windows.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 26!

Page 27: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Dentro del explorador de Windows existe la posibilidad de conectarse a una carpeta compartida en red, seleccionaremos la capeta concreta e introduciremos nuestras credenciales.

! Al introducir las credenciales correctamente veremos como ya tenemos dentro de nuestro explorador de archivos un nuevo directorio en red disponible con la letra de unidad correspondiente (en Windows no existe el montaje de directorios como tal sino que se usan letras de unidad).

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 27!

Page 28: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Podemos acceder al mismo y visualizar su contenido que veremos que es el mismo que el que se escribió desde el otro cliente con Mac.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 28!

Page 29: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

! Finalmente probaremos de nuevo haber si es posible escribir en el directorio. Hemos creado un nuevo fichero y un nuevo directorio.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 29!

Page 30: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

3. Partes opcionales

3.1. Servicio NIS! En este apartado realizaremos una descripción del servicio NIS, el que ya ha sido nombrado durante la práctica, también se realizará una breve introducción a la configuración del mismo.

! El servicio NIS (Network Information Service) es el nombre del protocolo de servicios de directorios desarrollado por Sun Microsystems para el envío de datos de configuración en sistemas distribuidos, como por ejemplo nombres de usuario. Se puede entender como un servicio de base de datos que proporciona acceso a los archivos /etc/passwd, /etc/shadow en toda la red. No es un servicio que trabaje solo sino que es una herramienta por ejemplo para el control de accesos a sistemas de compartición de directorios como NFS.

! En esta web podemos ver una explicación de la configuración de NIS, en ella veremos que existe un nodo maestro y una serie de nodos esclavos. http://shaktihpgc.wordpress.com/2012/03/22/network-file-system-network-information-service/

! El nodo maestro es el primero que es creado y los nodos esclavos son los que son creados cuando ya se encuentra NIS en la red, de manera que actuarán en base a la información del maestro.

! Vemos que básicamente lo que hace es lo descrito, simplemente se configuran unos parámetros básicos en cada nodo para que la información empiece a ser compartida mediante NIS y en el siguiente paso se añaden más nodos esclavos.

! Al final del artículo añade un nuevo usuario y reinicia el servicio de NIS para que la nueva información sea distribuida correctamente.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 30!

Page 31: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

3.2. Sistemas de archivos AFS y GFS

3.2.1. AFS

! AFS (Andrew File System) es un sistema de archivos distribuido a través de la red que fue desarrollado como parte del proyecto Andrew por parte de la Universidad Carnegie Mellon. Es utilizado fundamentalmente en entornos de computación distribuida.

! Este sistema tiene ventajas frente a otros tradicionales, sobretodo en el campo de la seguridad y escalabilidad. Usa kerberos como mecanismo de autenticación e implementa listas de control de acceso en directorios para usuarios y grupos.

! Los archivos AFS son cacheados bajo demanda en las estaciones locales. Las operaciones de lectura y escritura sobre un archivo abierto son dirigidas únicamente a la copia almacenada en caché. Cuando se cierra un archivo modificado, las porciones que han cambiado son copiadas de vuelta al servidor de archivos.

Una consecuencia de la estrategia de bloqueo de todo el archivo es que AFS no soporta grandes bases de datos compartidas o grabar actualizaciones dentro de archivos compartidos entre sistemas cliente. Esto fue una decisión de diseño deliberada basada en las necesidades percibidas del sistema informático en el entorno universitario. Esto hace, por ejemplo, que se usa un único archivo por cada mensaje en el sistema original para el proyecto Andrew, el Andrew Message System, más que un único archivo flexible para cada buzón.

Una característica importante de AFS es el volumen, un árbol de archivos y subdirectorios. Los volúmenes los crean los administradores y los enlazan con una ruta específica en una celda AFS. Una vez ha sido creado, los usuarios del sistema de archivos pueden crear directorios y archivos de manera normal sin tener en cuenta donde se encuentra físicamente el volumen.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 31!

Page 32: Software de Comunicaciones Práctica 8 - Sistemas de ... · 3.2. Sistemas de archivos AFS y GFS! 31 3.2.1. AFS! 31 3.2.2. GFS! 32 ... Network File System. NFS!En la primera parte

3.2.2. GFS

El Global File System (GFS, también GFS2), inicialmente llamado Minnesota Global File System1, es un sistema de archivos de discos compartidos.

! El GFS y el GFS2 difieren de otros sistemas de archivos distribuidos como AFS, ya que permiten que todos los nodos tengan acceso simultáneo directo al mismo bloque de almacenamiento compartido. Además el GFS y el GFS2 también pueden ser usados como sistema de archivos local.

! Muy usado en cluster de alta disponibilidad, a diferencia del NFS, que exporta directorios, el GFS se exporta en si mismo como un file system completo y su sistema evita la corrupción de datos especialmente si los archivos van a ser accedidos por diferentes computadoras.

Juan Díez- Yanguas Barber! Práctica 8______________________________________________________________________________________

______________________________________________________________________________________© Jdyb - Abril 2013! 32!