Un pequeño recordatorio.

Para modificar los permisos de un archivo en GNU/Linux desde una terminal se usa chmod, de la forma

chmod [opciones] XXX Archivo/Directorio

En donde XXX es el valor numérico de los permisos de lectura, escritura y ejecución (para el Propietario, Grupo y Otros), estos valores son:

  • 0 = Ningún permiso
  • 1 = Permiso de Ejecución
  • 2 = Permiso de Escritura
  • 3 = Permiso de Escritura y Ejecución
  • 4 = Permiso de Lectura
  • 5 = Permiso de Lectura y Ejecución
  • 6 = Permiso de Lectura y Escritura
  • 7 = Permiso de Lectura, Escritura y Ejecución

Ahora se señalan en el orden Propietario (el dueño del archivo), Grupo (los usuarios dentro del grupo al que pertenece el archivo) y Otros (los demás usuarios).

Por ejemplo: chmod 644 archivo significa que el propietario puede Leer y escribir (6), el Grupo solo puede Leer (4) y Otros solo puede Leer (4)

Otro ejemplo: chmod 764 archivo significa que el propietario tiene todos los permisos (Leer, Escribir y Ejecutar) (por el 7), el Grupo solo puede Leer y escribir (6) y Otros solo puede Leer (4)

Ahora el orden de estos números para representar los permisos no son al azar, sino que se basan en reglas binarias, así si hacemos una tabla (con los valores Lectura, escritura y ejecución) y vamos rellenando con 1 (Si) y 0 (No), así obtenemos el valor numérico de los permisos (transformándolos de binario a decimal):

Lectura (r) Escritura (w) Ejecución (x) Valor
0 0 0 = 0
0 0 1 = 1
0 1 0 = 2
0 1 1 = 3
1 0 0 = 4
1 0 1 = 5
1 1 0 = 6
1 1 1 = 7

Como ven el valor no es al azar.