Permisos
El sistema de permisos de GNU/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
Tené mucho cuidado al cambiar los permisos de algunos directorios sensibles. Podés poner en riesgo la seguridad de tu netbook.
Desde la Interfaz gráfica
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.
PONER IMAGEN
Desde Terminal
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 combinaciones posibles son ocho y se muestran en la tabla siguiente:
octal | 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 octal 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:
- Cediendo todos los permisos al dueño.
- Cediendo permiso de lectura y ejecución al grupo.
- Cediendo permiso de ejecución a cualquiera.