Autor: Maximiliano E. Frisione (ipxmax [arroba] gmail.com)
Este es el primero de una serie de artÃculos que tienen como objetivo introducir al lector en GNU/Linux, dando sus fundamentos y teniendo como objetivo la seguridad de este sistema operativo
El Sistema de Archivos de Linux
Linux es un sistema operativo multiusuario, lo que significa que podemos tener mas de un usuario trabajando al mismo tiempo desde sus diferentes estaciones de trabajo. A raÃz de esto, el sistema debe proteger a unos usuarios frente a otros y a sà mismo.
En Linux se adopta como norma básica de seguridad, asignarle a cada uno de los usuarios, sólo los permisos mÃnimos y necesarios para que este pueda realizar su trabajo, sin comprometer el de los demás y la integridad del sistema.
El sistema de archivos de Linux sigue el estándar de Unix, posee una estructura determinada y compatible con los demás sistemas Unix. Estos tienen su origen en la denominada raÃz” o “root” que es representado por “/”. De este directorio se desprenden todos los Archivos (Archivos ordinarios – Directorios – Archivos Especiales) a los que el sistema operativo tiene acceso. Entre los que se encuentran:
/bin Contiene los archivos binarios del sistema.
/boot Contiene los archivos del cargador del sistema.
/dev Contiene los archivos que representan a los dispositivos que tenemos instalados.
/etc Es reservado para los ficheros de configuración del sistema y aquà no deben existir archivos ejecutables.
/home Contiene los directorios personales de los distintos usuarios.
/lib Contiene las librerÃas para que se ejecuten los programas de /bin y /sbin
/opt Es donde se aloja la mayorÃa del software creado por terceros.
/proc Contiene archivos que envÃa o reciben información de Kernel del sistema.
/root Carpeta personal del superusuario o root.
/sbin Contiene programas que son accedidos únicamente por root y aquellos que se necesitan durante el arranque y para montar /usr. Además, programas para poder realizar el mantenimiento y la recuperación del sistema.
/usr Es para los archivos que pueden ser compartidos por todos los usuarios del sistema, es altamente recomendable que sea montada en modo sólo lectura.
/tmp Es la destinada a almacenar archivos temporales.
/var Contiene ficheros de datos variables. Esto incluye datos de administración y registro, asà como ficheros temporales.
Para mantener un sistema Linux seguro, lo primero que debemos hacer es una apropiada distribución del espacio de almacenamiento. Al particionar correctamente el o los discos de almacenamiento, estamos minimizando el riesgo de que al deteriorarse por alguna circunstancia una partición, se vea afectada la totalidad del sistema, sólo nos verÃamos expuestos a dicha partición.
En este sentido, no existe un estándar que nos indique como debemos realizar esta tarea, dependerá del uso que se le aplique al sistema y a la experiencia de quien la realice. Aunque sÃ, puedo presentarles como consejo, el siguiente ejemplo en donde se tienen 8 particiones:
- /boot
En esta partición se alojan todos los archivos a los que necesita acceder el cargador del sistema que interactua con el BIOS. A diferencia de las muchas particiones que se presentan en este ejemplo, en donde se justificarÃan en sistemas grandes, esta puede ser muy útil si nos vemos limitados de espacio libre. - swap
Es destinada al soporte de la Memoria Virtual, esta partición es obligatoria y de no llegar a ser asÃ, es altamente recomendable. Generalmente se calcula su tamaño como el doble de la memoria principal, mayor a esto, generarÃa pérdidas de espacio en el disco. En grandes instalaciones podrÃamos tener más de una partición de intercambio o swap. - /
Es la partición root o raÃz. Es montada cuando el sistema inicia, y debe contener todos los archivos necesarios para el arranque y la configuración del sistema. En esta, son necesarios algunos de los siguientes directorios: /bin, /dev, /etc, /lib, /mnt, /proc, /root, /sbin. - /usr
Es una de las particiones con la que tendrÃamos que ser más cuidadosos y generosos en cuanto a tamaño, ya que en ella se va a ubicar la mayorÃa del software que el sistema operativo pone a disposición de los usuarios. Además en /usr/src encontramos gran cantidad de códigos fuentes, ya sea del núcleo de Linux como de los paquetes basados en RPM. - /home
Es la partición que contiene los directorios personales de los diferentes usuarios del sistema, el espacio que se le asignará a esta, dependerá exclusivamente del numero de usuarios y de la cantidad de datos que maneje cada uno de ellos. - /opt
En el directorio /opt, es donde la mayorÃa del software de terceros esta diseñado para instalarse. De no crear esta partición, se instalarán en la partición raÃz, la cual podrÃa llegar a no tener el espacio necesario, aunque obviamente existen otras maneras de resolver esto, ya que podrÃamos crear un link simbólico a otra partición con mayor tamaño. - /var
De esta partición se hace un uso efectivo solo en sistemas servidores, por ejemplo de impresión, y multiusuarios, ya que está destinada a ir guardando los distintos archivos de log que el sistema Linux irá creando y que ubica en /var/log. En el caso de tener un servidor de impresión, en /var/spool se encuentran los archivos en cola de impresión. - /tmp
Es la partición encargada de almacenar los archivos temporales. Al igual que la partición /var, de esta se hará un uso efectivo en sistemas con gran cantidad de usuarios o servidores de red. De no crearse, /tmp se ubica en la partición raÃz y harÃa posibilidades de que los usuarios ocupen todo el espacio en disco de la mencionada partición. No es necesaria la creación de ésta en estaciones de trabajo.