Asciinema

jueves, 31 de marzo de 2016

Recuperando un sistema de archivos corrupto con FSCK.


Les ha sucedido alguna vez que, ¿por algún motivo de pronto no inicia el sistema? Ya sea porque hubo algún problema de tipo eléctrico que ocasionó un corte de energía o porque hicimos "algo" que no debíamos en nuestro sistema de archivos.

FSCK es un acrónimo del inglés que significa “File System Check o File System Consistency Check) Se trata de una utilidad de los sistemas UNIX o similares, como GNU/Linux o FreeBSD. Es utilizado para reparar inconsistencias del sistema de archivos.


Bueno pues dependiendo del tipo de problema que haya sufrido el sistema, tenemos una solución, cabe recalcar que esto se aplica tanto a una partición como a todo el disco. No está demás enfatizar que deben estar desmontados.

Para este caso se asume que la partición afectada es el "/home" y por ende no podemos iniciar nuestra distro, el fs de esta partición es ext4.
 
Antes de hacer esto debemos tener claro que necesitamos ingresar desde un Live CD o una Live usb, eso depende de cada quien.

Una vez iniciada fedora(Live usb), procedemos a loguearnos como root en la terminal, aplicamos este simple comando:




En /dev/mapper/ se encuentra la partición root, en mi caso sería "fedis-root" y el home, ambas pueden ser propensas a errores. La herramienta fsck nos ayudará a comprobar el sistema de ficheros de nuestra partición "home" que en este caso se llama "fedis-home", dejo la descripción de algunos de los switches:

  • -a confirmar automáticamente, que no está recomendado.
  • -c comprobar bloques en disco.
  • -f forzar la verificación aunque parezca todo normal.
  • -v (modo verbose) que nos mostrará más información.
  • -r Modo interactivo. Espera nuestra respuesta.
  • -y asume sí (yes) de respuesta


Lo sé, es un articulo muy breve pero que viene bien tener a la mano, nos vemos!

:)





Servidor NFS


Configurando un servidor NFS básico.


Antes que nada debo mencionar que NFS es un servicio que nos permite compartir archivos por volúmenes, es muy fácil de configurar, para este caso lo haré desde Fedora 23, veamos:

Lo primero que debemos hacer es crear la carpeta que vamos a compartir y luego editar el archivo "exports" ubicado en la carpeta "/etc" , para esto pueden usar el editor de texto gráfico o por consola de su elección:


mkdir /home/NFShare


Añadimos la ruta que vamos a compartir o exportar, la ip de la máquina cliente o id de la red/mascara, que se conectará y los respectivos privilegios sobre el volúmen compartido:

  
nano /etc/exports


añadimos lo siguiente:

/home/NFShare         172.16.1.4(rw, no_root_squash, sync)


una vez añadido, guardamos y salimos. Luego  editamos los archivos : "hosts.allow" y "hosts.deny". Cabe mencionar que  existen ciertos tipos de permisos para los usuarios que queremos que se conecten al servidor, por ejemplo:

rw                        permisos de lectura/escritura.
ro                         permisos de lectura.
root_squash          bloquea los permisos de root sobre el volúmen.
no_root_squash     permite acceso root al volúmen.
sync                     permite una solicitud de escritura a la vez.
async                   lo contrario de sync.

como mencioné anteriormente, aún tenemos archivos por modificar, empezemos por "hosts.allow" es en este archivo donde introduciremos las IPs o id de red a los que permitiremos el acceso al volúmen.


nano  /etc/hosts.allow


añadimos en este caso la ip que mencinamos anteriormente, anteponiendo la palabra "portmap":


portmap:172.16.1.4 


Guardamos y salimos.


nano  /etc/hosts.deny

añadimos las IPs o id's de red que queramos bloquear o en su defecto, podemos bloquear toda conexión que no se haya permitido en el archivo anterior.


ALL

Guardamos y salimos, con esta palabra bloquemos el servicio, limitandolo a las direcciones de red permitidas.


iniciamos el servicio rpcbind y nfs, de la siguiente manera:


systemctl start rpcbind.service
systemctl start nfs.service


Luego actualizamos las configuraciones y exportamos el volúmen así:


exportfs -r    actualiza configuraciones del servicio nfs.
exportfs -a    exporta el volúmen creado.


una vez hecho esto, si no hemos errado en alguno de los pasos anteriores, deberiamos tener nuestro servidor NFS funcionando sin problemas.



CLIENTE 


Para conectarnos desde un cliente gnu/linux, como root, abrimos la consola y realizamos lo siguiente:

showmount -e  192.168.1.1 ( IP del servidor NFS)


Esto nos deberia mostrar la ruta que se encuentra compartiendo el servidor NFS.


mount -t nfs 192.168.1.1:/home/NFShare /home/user/Compartido


Con el comando anterior procedemos a montar el volúmen en la carpeta "Compartido", creada para este ejemplo, que está dentro de la ruta "/home/user", una vez hecho esto, deberiamos poder ver los archivos del servidor montados en dicha ruta.

Como podemos ver es relativamente fácil compartir volúmenes mediante NFS, aún así no deben descuidar la seguridad de su red.