Sistema de ficheros en Linux

En Linux, el sistema de ficheros es bastante distinto al que se utiliza en Windows, de manera que la organización, ejecución y permisología de los archivos se hace de manera distinta. La principal ventaja es que en los archivos Linux, el usuario que crea los archivos puede gestionarlos como desee, ya que son de su propiedad, es decir, el mismo usuario puede decidir quien los ve, los lee y quien los ejecuta. En este artículo, veremos cómo se organizan los ficheros en Linux, cómo se visualizan y cómo cambiar los permisos de los ficheros.

Sistema de ficheros en Linux

Sistema de archivos

Un sistema de ficheros es una organización lógica de un dispositivo físico, que nos permite almacenar y recuperar cualquier tipo de información que deseemos en forma de fichero. Existen diferentes tipos de sistemas de ficheros, y en Linux los sistemas nativos son ext2 y ext3. Estos sistemas organizan los archivos en una especie de súper bloque con una cantidad de nodos específica y un área de datos extensa, que se asemeja a la organización de las ramas de un árbol.

Una de las principales ventajas de los sistemas de ficheros Linux, es que pueden realizarse tareas multiusuario, lo que permite al creador de los archivos adicionarles características específicas, así como también, ejercer propiedad sobre cada archivo creado o directorio.

Sistema de ficheros en Linux

 

Visualizando archivos en Linux

Los archivos en Linux son propiedad de quien los crea, este es el único usuario autorizado a eliminarlos (a excepción del administrador o root). Por supuesto, cuentan con una serie de permisos predeterminados, que puede cambiar el usuario creador a voluntad para, de esta manera, compartir los archivos con otros usuarios del sistema. Para visualizar estos archivos con todas sus características, debemos ejecutar la consola de Linux y escribir el siguiente comando: “ls –la”, desplegándose en la pantalla una lista de archivos con su permisología y características bien detalladas.

ficheros en Linux

Podemos notar como en la figura aparecen los atributos del archivo con una nomenclatura similar a “-rw-r–r—“ donde el primer espacio equivale a los directorios (d), en el caso de que sea un solo archivo queda con una barra “-“. Los tres espacios siguientes, son los permisos del creador r (lectura), w (escritura) y x (ejecución), vemos que en el ejemplo, el usuario creador sólo tiene permisos de lectura y escritura. El segundo bloque de tres espacios, indica los usuarios de un grupo y el último lote de tres, para todos los demás usuarios del sistema. Los permisos de lectura, escritura y ejecución, se indican de manera similar al del usuario creador, en este caso se otorga sólo lectura a los demás usuarios.

También, podemos observar que el nombre del usuario que aparece delante de users en las características del archivo, nos indica que ese usuario es el dueño del archivo. Por ejemplo, tutorial users, nos indica que el archivo es propiedad del usuario tutorial.

Ficheros en Linux

Cambiando los permisos de los archivos

Una vez que hemos aprendido a identificar y visualizar los atributos y permisos de los archivos en la línea de comandos de Linux, veremos la manera correcta de cambiar los permisos de los archivos que hemos creado, para ello, debemos utilizar la línea de comandos.

En este caso específico, vamos a utilizar el comando “chmod” que se encarga de cambiar los atributos de los archivos dentro del sistema. Debemos recordar, que utilizaremos las siguientes letras para indicar a que tipo de usuario le vamos a cambiar los permisos de acceso al fichero. Por ejemplo, utilizaremos la letra u para el usuario creador, la letra g para un grupo de usuarios, la letra o para los demás usuarios del sistema, y la letra a para todos los usuarios. De manera, que podamos cambiar los permisos a nuestros requerimientos, recordemos que solo el creador del archivo y root puede cambiar los permisos.

Permisología de archivos Linux

La estructura de cambio de permisos es la siguiente: “chmod usuario_o_grupo_de_usuarios_a_cambiar_el_permiso[+/-]permiso_a_otorgar_o_quitar archivo_a_modificar”. En donde, [+/-] dependerá de si deseamos quitar el permiso (-) o adicionarlo (+), y los permisos son: r (lectura), w (escritura), x (ejecución). A continuación, veremos un ejemplo explicativo:

El usuario llamado tux, desea cambiar los permisos de creación a lectura, escritura y ejecución para todos los usuarios, sólo debe escribir:

$ chmod a+rwx archivo.txt

El archivo de texto plano archive.txt podrá ser leído, cambiado y ejecutado por cualquier usuario del sistema, de este modo, podemos ver como los creadores de los archivos en sistema Linux, pueden otorgar diferentes permisos a los demás usuarios sobre sus propios archivos, realizando combinaciones de órdenes con el comando chmod.

Permiso de archivos en Linux

Los usuarios Linux, también pueden cambiar la propiedad de su archivo y otorgarla a otro usuario del mismo sistema, utilizando el comando chown, como podemos ver a continuación:

$ chown –c luis archivo.txt

Ahora, el archivo de texto plano pertenece al usuario luis, siendo este el único que podrá modificar sus atributos en el futuro.