Hemos leído en ocasiones, que los Permisos correctos en Joomla! son 755 para carpetas y 644 para archivos, y seguramente nos lo creemos como un dogma de fe.
Vamos a explicar que significa:
Los permisos de sistemas UNIX se dividen en tres identidades, conocidas como propietario, grupo y otros.
- propietario (dueño de un archivo o carpeta)
- grupo (conjunto de privilegiados con acceso a una zona en particular)
- otros (público en general).
Para establecer los permisos de escritura existe un algoritmo, el cual asigna valores al tipo de acceso que se quiere otorgar a cada tipo de usuario.
- 4 = lectura
- 2 = escritura
- 1 = ejecución
Los permisos se asignan de acuerdo con la suma:
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)
Para cada Identidad, obtenemos un número comprendido entre 0 y 7, que delimitarán por Identidad sus privilegios en particular sobre un archivo o carpeta.
Ejemplos ( Permisos que tiene asignados cada Identidad, sobre un archivo o carpeta siguiendo este orden):
755
Propietario = 7 (Puede leer, escribir y ejecutar).
Grupo = 5 (Puede leer y ejecutar).
Otros = 5 (Puede leer y ejecutar).
644
Propietario = 6 (Puede leer y escribir).
Grupo = 4 (Puede leer).
Otros = 4 (Puede leer).
El porqué de los permisos se aconseja sean son 755 para carpetas y 644 para archivos es encontrar un equilibrio ajustado entre la funcionalidad y la seguridad de un sitio web.
Los permisos se pueden modificar mediante protocolo FTP o a través de un administrador de archivos que disponen los paneles de control del Alojamiento, por ejemplo WePanel.
Podemos encontrar otro tipo de notación (diferente de la notación octal), cómo -rwxr-xr-x. Cada uno de los tres caracteres representa los permisos de lectura, escritura y ejecución respectivamente:
- 'r' si el permiso de lectura está asignado, '-' en caso contrario.
- 'w' si el permiso de escritura está asignado, '-' en caso contrario.
- 'x' si el permiso de ejecución está asignado, '-' en caso contrario.
Ejemplos de Notación simbólica:
- rwxr-xr-x se representa como 755 en notación octal de tres dígitos.
- rw-r--r-- se representa como 644 en notación octal de tres dígitos.
Como recomendación final, no tener archivos o carpetas en 777, debido a que puede leer, escribir y ejecutar todo el mundo, y eso es una vulnerabilidad.