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:
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:
- Cediendo todos los permisos al dueño.
- Cediendo permiso de lectura y ejecución al grupo.
- Cediendo permiso de ejecución a cualquiera.