Sistema de ficheros

De Guía Ubuntu
Saltar a: navegación, buscar

Si vienes del mundo de Windows lo primero que te sorprenderá es que no está la unidad C:. La distribución de los discos y particiones en Linux es diferente. Ya en la instalación te puedes dar cuenta cómo se nombran los discos en Linux: el primer disco duro es /dev/hda, el segundo disco duro es /dev/hdb, etc. Las particiones del primer disco duro (/dev/hda) serán /dev/hda1, /dev/hda2, ... Éstas últimas son equivalentes a lo que en Windows se llama C:, D:, ...

En Linux todo es un archivo, y cuando digo todo es todo. Desde los archivos de datos hasta las particiones de los discos pasando por el ratón y la tarjeta de sonido. Los directorios también son archivos. Existe un directorio raiz (/) del que cuelga todo. Los dispositivos cuelgan del directorio /dev.

Referencias

Algunos de los directorios más interesantes:

  • /: Raíz.
  • /usr: Aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
  • /bin: Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
  • /sbin: Aquí están los comandos que sólo puede usar el administrador o root.
  • /dev: Ahí están todos los dispositivos de nuestra máquina.
  • /home: Lugar donde se almacenan las cuentas de usuarios.
  • /lib: Enlaces a las librerías que se necesitan para el sistema.
  • /var: Contiene información variable, como por ejemplo los logs del sistema (/var/log), correo local, etc.
  • /tmp: Directorio temporal.
  • /etc: Configuración global de los programas.
  • /root: Cuenta del administrador.
  • /boot: Aquí está todo lo necesario para arrancar el sistema.
  • /media: Punto de montaje para sistemas de archivos montados localmente.
  • /mnt: Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en día está en desuso y se conserva por razones históricas.
  • /proc: Sistema de archivos virtual de información de procesos y del kernel.


Algunas referencias de Archivos conocidos:

  • /etc/apt/sources.list: Este archivo configura la lista de repositorios para Activar universe y multiverse.
  • /etc/X11/xorg.conf: Este archivo define y configura el entorno grafico a cargar.
  • /etc/fstab: Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.
  • /etc/passwd: Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un usario root mas que el ya conocido root.
  • /etc/readahead/boot y /etc/readahead/desktop: Estos archivos contienen la lista de rutas de todos los archivos que se van a cargar en la memoria caché durante el Inicio_del_sistema.

Los permisos

El sistema de permisos de Linux es simple y efectivo. Existen tres tipos de permisos:

  • Ejecución: Si es para un archivo será ejecutable y si es para un directorio significa que podemos pasar por él. Es representado por una X.
  • Lectura: Si es para un archivo significa que podemos leerlo y si es un directorio es que podemos leerlo también. Es representado por una R.
  • Escritura: Si es para un archivo será que podemos escribir en él y si es para un directorio significa que podemos crear ficheros dentro de él. Es representado por una W


También existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo:

  • Usuario: El propietario del archivo.
  • Grupo: Grupo al que pertenece el archivo.
  • Otros: Los demás usuarios.

Veamos un ejemplo:

$ ls -l pg_backup.sh
-rwxr-x---  1  pepito usuarios  453  2005-02-17  09:35  pg_backup.sh


El archivo pg_backup.sh pertenece al usuario pepito y al grupo usuarios. Los permisos que tiene para el usuario son rwx lo que significa que el usuario pepito puede leer el archivo, escribir en él y ejecutarlo. Por la extensión vemos que es un script, por lo que es normal que se pueda ejecutar. Para el grupo tiene los permisos r-x. Eso significa que los miembros del grupo usuarios pueden leer el archivo y ejecutarlo, pero no modificarlo. Los permisos para los demás usuarios (otros) son ---, por lo que un usuario que no sea pepito ni pertenezca al grupo usuarios no podrá leer, escribir ni ejecutar el archivo.

Cambio de permisos

  • Consola: El comando chmod se usa para designar los permisos de un archivo. Sólo el dueño del archivo y el root pueden cambiar los permisos. La sintaxis de chmod es:
chmod {a, u, g, o} {+, -} {r, w, x} nombre del archivo

donde:

u: corresponde al dueño del archivo
g: corresponde al grupo
o o a: corresponde al resto de los usuarios, a para todos (all) y o para otros (others)

Para autorizar o desautorizar el permiso:

+: autoriza
-: desautoriza
=: resetea los permisos

Los tipos de permisos son:

r: lectura
w: escritura
x: ejecución

El comando chmod también acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como:

sudo chmod 751 [nombre del archivo]

Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cómodo: se considera un bit para lectura (r) otro para escritura (w) y otro para ejecución (x). Las combianciones posibles son ocho y se muestran en la tabla siguiente:

Decimal r w x
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Un uno equivale a activar y un cero a desactivar los permisos. El equivalente decimal de los permisos se aplica en orden: dueño, grupo y cualquiera (u,g,a). Entonces en el ejemplo anterior el valor 751 actúa:

  1. Cediendo todos los permisos al dueño
  2. Cediendo permiso de lectura y ejecución al grupo
  3. Cediendo permiso de ejecución a cualquiera.


  • Interfaz gráfica: También podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el botón derecho del ratón sobre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña permisos.
Opciones gráficas de permisos

Ver también

Este artículo es, por ahora, sólo un esbozo.
Ampliándolo ayudarás a mejorar Guía Ubuntu.