El sistema de archivos Linux

El sistema de archivos Linux

El sistema de archivos Linux – Introducción al hacking con Kali Linux – Capítulo 6

Este va a ser un capítulo en el cual voy a mostrarte un poco como funciona el sistema de archivos Linux.

¿Qué significa FHS?

Empecemos por comentar un poco por encima lo que es FHS. Estas son las siglas en inglés de Filesystem Hierarchy Standard (Estándar de Jerarquía del Sistema de archivos en español).

Básicamente, es un estándar diseñado para definir la forma del sistema de archivos en los sistemas Linux. Hay algunos de estos sistemas que se desvían un poco, pero en general, se ciñen bastante a las normas del estándar. De manera sencilla, son normas que dicen que carpetas tiene el sistema y que lleva cada una de ellas.

Comparación del sistema de archivos Linux y Windows

Si hasta este curso solo has utilizado Windows te vendrá bien esta comparación.

En Windows, tenemos una serie de carpetas (unidades de disco o partición) que empiezan por la letra de unidad C, D, E, F etc. A partir de ahí, tenemos carpetas y subcarpetas.

Los archivos del sistema Windows suelen estar en la unidad C, aunque es posible instalar el sistema en otras unidades. El resto de unidades se suelen utilizar para guardar datos de programas o de usuario.

En linux, el sistema de archivos es diferente, contamos con una raíz, root en inglés (que no tiene nada que ver con el usuario root). A partir de esta raíz, están el resto de directorios.

Puedes acceder a esta raíz desde cualquier directorio. En concreto, Kali Linux tiene en el escritorio un acceso directo (lanzador en Linux) llamado Sistema de archivos.

Escritorio Kali Linux

Directorios del sistema Linux

Veamos lo que contienen los directorios (carpetas) del sistema Linux. Es importante que empieces a conocerlos, ya que vamos a ir utilizándolos a lo largo del curso.

Al abrir este lanzador del escritorio, en realidad, estás abriendo un directorio con la ruta raíz, la primera carpeta en el disco o partición. Esta barra podría ser por ejemplo C:\ en Windows. A partir de este directorio, tenemos el resto.

El sistema de archivos Linux

Tipos de directorios en Linux

Antes de ver que contiene cada directorio, veamos las categorías que tenemos para catalogar cada tipo de directorio.

  • Estáticos: contienen archivos que no van a cambiar si no es mediante los privilegios del usuario root.
  • Dinámicos: todo lo contrario, contienen archivos destinados a ir cambiando ya sea por un usuario estándar o por root en algunos casos. Contienen configuaraciónes, documentos, etc.
  • Compartidos: Se utilizan para compartir archivos.
  • Restringidos: contienen archivos modificables solo por root.

El directorio estático bin (proveniente de «binary» (binario)) contiene aplicaciones binarias de comando.

Son las utilidades que puede utilizar un usuario estándar en Linux.

El comando cat que utilizamos con el usuario estándar para leer un archivo de texto en la consola, es un ejemplo.

El directorio estático sbin (proveniente de «super binary» (super binario, de superusuario (root))) es lo mismo, pero para utilidades del sistema operativo que pueden ser manejadas solo por el usuario root, es decir, con permisos especiales.

Un ejemplo de lo que ya hemos visto es el comando dpkg que utilizamos para configurar el idioma del sistema, herramienta que requiere permisos de root.

boot (arranque) es otro directorio estático que contiene todos los ejecutables y archivos necesarios para el arranque del sistema.

El directorio dev (proviniente de «devices» (dispositivos)) incluye los dispositivos de almacenamiento conectados al sistema, por ejemplo, discos, pendrives, dvd, etc.

etc es el directorio que almacena archivos de configuración de componentes del sistema operativo, programas, etc.

El nombre etc, es proveniente originalmente de «etcetera» (etcétera), ya que en un principio, los archivos que no solían encajar en ningún otro directorio, se almacenaban ahí, era como una carpeta para «varios». Actualmente, se ha conformado como la carpeta de configuración del sistema. Por eso, muchos han adaptado las siglas etc a «Editable Text Configuration» (Configuración de Texto Editable), que se ciñe más al cometido actual del directorio. Ya que las configuraciones del sistema, se realizan editando archivos de texto que contiene esta carpeta.

home (proveniente de «home directory» (directorio principal)) es el directorio principal de los usuarios estándar, es algo así como la carpeta de usuario en Windows. Aquí se guardan las fotos, música, archivos de texto, etc.

En el escritorio puedes acceder a tu carpeta personal con el lanzador mostrado en la primera imagen llamada «Carpeta personal».

Carpeta personal Kali Linux

El directorio lib (proveniente de libraries (bibliotecas)) tiene bibliotecas esenciales para ejecutar los binarios de bin y sbin entre otras cosas. En Kali encontramos versiones de esta carpeta para 32 bits y 64 bits.

media es una carpeta destinada a los dispositivos extraíbles conocidos en informática como «media» (término informático para los dispositivos de almacenamiento como DVDs, Discos, pendrives, etc.). Contiene los puntos de montaje de estos medios extraíbles. También se incluyen los recursos compartidos.

mnt (proveniente de mount (montaje)) es un directorio destinado a puntos de montaje temporal de dispositivos que podemos montar manualmente.

opt (proveniente de «optional add-on software packages» (paquetes adicionales de software opcionales)) es un directorio reservado para la instalación de paquetes de software de aplicación complementarios. Sirve para instalar aquí paquetes de software de terceros, como por ejemplo, si queremos instalar Chrome.

proc (proveniente de processes (procesos)) contiene información sobre los procesos. Conocidos en Linux como daemons.

Por lo de daemons, mucha gente traduce daemons como demonios en español, que es la traducción que te va a dar por ejemplo google del inglés.

En realidad daemons proviene de disk and execution monitor.

Pero no quiero entrar en las batallas que hay siempre por internet. Si tienes una opinión distinta, puedes dejarla en los comentarios para informarnos a todos.

Por lo que de ahora en adelante y por mi costumbre habitual, voy a nombrar los daemons como procesos, con el fin de no estar cambiando todo el rato, porque sé que voy a empezar a hablar de daemons y acabaré mezclando daemons y procesos a cada rato, así que lo dejo en procesos, todos nos entendemos y eso es lo importante.

root es un directorio como home pero para el usuario root.

run (proveniente de run (ejecución)) es un directorio con archivos de procesos ejecutados o en ejecución. Este directorio está pensado para ir reemplazando a /var/run. Todavía es pronto para entrar en detalles.

srv (proveniente de servers (servidores)) está para almacenar archivos y directorios sobre servidores.

sys (proveniente de system (sistema)) contiene información del kernel (ya hablaré de esto para quién no sepa que es el kernel) relativa a eventos del sistema operativo.

tmp (proveniente de temporal) es un directorio para archivos temporales.

El directorio usr (proveniente de users (usuarios)) sirve para almacenar los archivos de solo lectura relativos a las utilidades de usuario.

Por último, var (proveniente de variable) contiene archivos variables con información del sistema como información de paquetes, logs, etc. Podemos equipararlo un poco al Visor de eventos de Windows.

Ahora que ya conoces un poco la organización de un sistema Linux, empezaremos a utilizar la terminal con comandos básicos en el siguiente capítulo. No hace falta que entiendas perfectamente lo que hace cada directorio del sistema, con este capítulo, quiere que tengas una referencia para visitarla cuando haga falta. A medida que vayamos realizando prácticas en el sistema, irás viendo bien para que sirve cada uno de estos directorios. Si no has utilizado nunca Linux como Administrador/a de sistemas, puede que no entiendas el significado y/o utilidad de algunos de estos directorios.

Si te interesa Linux, no te pierdas esta categoría.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

kali linux logo Entrada anterior Como crear contraseñas seguras y habilitar la cuenta root
kali linux logo Entrada siguiente Comandos básicos con la Terminal de Linux