Sistema de ficheros
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 disco 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.
Algunos de los directorios más interesantes:
- /dev: Ahí están todos los dispositivos de nuesta máquina.
- /home: Lugar donde se almacenan las cuentas de usuarios.
- /var/log: Almacén de los ficheros de log de las aplicaciones.
- /tmp: Directorio temporal.
- /etc: Configuración global de los programas.
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 archivos .
- 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 el é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. Solo 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 usarios, a para todos (all) y o para otros (others)
Para 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 755 [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 755 actúa:
- Cediendo todos los permisos al dueño
- Cediendo permiso de escritura y ejecución al grupo y a cualquiera.
- Interfaz gráfica: Tambien podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el boton derecho del ratón sonbre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña permisos.
Este artículo es, por ahora, sólo un esbozo.
Ampliándolo ayudarás a mejorar Guía Ubuntu.