Asignar permisos chmod.
Tenemos tres tipos de Identidades (Propietario, Grupo, Otros) y tres tipos de Permiso (Lectura, Escritura, Ejecución). Siempre en ese orden.
A cada una de las Identidades, le podemos asignar Permisos específicos, siendo que, con la Vista numérica:
El Pemiso de Lectura, para cualquier Identidad, siempre sumará 4, si ha sido habilitado, y, en caso contrario, sumará 0El Pemiso de Escritura, para cualquier Identidad, siempre sumará 2, si ha sido habilitado, y, en caso contrario, sumará 0
El Pemiso de Ejecución, para cualquier Identidad, siempre sumará 1, si ha sido habilitado, y, en caso contrario, sumará 0
Según los permisos habilitados/deshabiltados de cada identidad, se obtendrá una suma distinta.
Relación Numérica con los Permisos
0 = Ningún permiso (Lectura = 0 + Escritura = 0 + Ejecución = 0)
1 = Permiso de Ejecución (Lectura = 0 + Escritura = 0 + Ejecución = 1)
2 = Permiso de Escritura (Lectura = 0 + Escritura = 2 + Ejecución = 0)
3 = Permiso de Escritura y Ejecución (Lectura = 0, Escritura = 2, Ejecución = 1)
4 = Permiso de Lectura (Lectura = 4 + Escritura = 0 + Ejecución = 0)
5 = Permiso de Lectura y Ejecución (Lectura = 4 + Escritura = 0 + Ejecución = 1)
6 = Permiso de Lectura y Escritura (Lectura = 4 + Escritura = 2 + Ejecución = 0)
7 = Permiso de Lectura, Escritura y Ejecución (Lectura = 4 + Escritura = 2 + Ejecución = 1)
Luego, por cada Identidad, podemos obtener un número comprendido entre 0 y 7, que delimitarán por Identidad, claramente, sus privilegios en particular sobre un archivo o carpeta.
¿Entonces, que es, por ejemplo, chmod 644?
Son los Permisos que tiene asignados cada Identidad, sobre un archivo o carpeta, según su Relación Numérica. Siempre siguiendo este orden:
Propietario = 6 (Puede Leer y Escribir)
Grupo = 4 (solo puede Leer)
Otros = 4 (solo puede Leer)
chmod 755, 555, 444, 600, 400, etc, etc, a la hora de leerlos o interpretarlos por nuestra parte, se puede conseguir deduciéndolo o calculándolo… hasta dominarlo al dedillo, como cuando se aprenden las tablas de multiplicar
.
Para cambiar masiva y recursivamente los permisos chmod de nuestro espacio web, si disponemos de conexión SSH, via Shell se puede recurrir a instrucciones de este tipo:
Para cambiar los permisos de Directorios, en este caso a chmod 755:
find /ruta/directorio/origen -type d -exec chmod 755 {} \;
Para cambiar los permisos de Archivos, en este caso a chmod 644:
find /ruta/directorio/origen -type f -exec chmod 644 {} \;