El comando chmod se utiliza para dar permisos o privilegios a los archivo y/o carpetas en el sistema operativo Linux.
chmod [opciones] XXX nomFichero/nomCarpeta
En el caso de las carpetas se puede utilizar la opción -R para que asigne privilegios recursivamente dentro de la carpeta.
XXX es el número de permisos tal y como especificamos a continuación:
| Tipo |
Valor |
= |
Lectura |
Escritura |
Ejecución |
| Ningún permiso |
0 |
= |
0 |
0 |
0 |
| Permiso de Ejecución |
1 |
= |
0 |
0 |
1 |
| Permiso de Escritura |
2 |
= |
0 |
1 |
0 |
| Permiso de Escritura y Ejecución |
3 |
= |
0 |
1 |
1 |
| Permiso de Lectura |
4 |
= |
1 |
0 |
0 |
| Permiso de Lectura y Ejecución |
5 |
= |
1 |
0 |
1 |
| Permiso de Lectura y Escritura |
6 |
= |
1 |
1 |
0 |
| Permiso de Lectura, Escritura y Ejecución |
7 |
= |
1 |
1 |
1 |
El valor se obtiene a partir de los valores binarios de Lectura, Escritura y Ejecución donde 1 indica un permiso activo y 0 un permiso denegado.
Por ejemplo: 100 quiere decir que puede leer el archivo o carpeta pero no lo puede escribir ni ejecutar, además, 100 en binario corresponde al valor 4 en decimal.
Por otra parte, el número del permiso esta compuesto por 3 de los números (de la columna Valor de la tabla) los cuales corresponden a:
Finalmente, si usamos:
chmod 645 /home/usuario/archivo.txt
Obtendremos como resultado:
Propietario = 6 (Puede Leer y Escribir)
Grupo = 4 (Solo puede Leer)
Otros = 5 (Pueden Leer y Ejecutar)
Nota: Evidentemente el comando chmod contiene muchas más opciones y formas de asignar permisos, puedes consultarlas consultando el manual del comando, para ello abre un terminal y teclea:
man chmod
Espero que les sea igual de útil que a mi.