Permisos de Directorios

Si usted es uno de los que piensan, como yo, que Linux es más apropiado que Windows en lo que respecta a servidores web, seguramente tendrá en algún momento de su vida, problemas con los permisos de Linux.

Un poco de teoría.

En este artículo se asume que usted conoce un poco de como trabajan los permisos de archivos en Linux. Si no es así recomiendo revisar este concepto antes.

Hay mucha documentación sobre este tema, y para no equivocarme en el concepto directamente recomiendo la lectura de http://es.wikipedia.org/wiki/Permisos_de_acceso_a_archivos

en donde dice:

Los permisos de sistemas UNIX se dividen en tres clases, conocidas como usuario, grupo y otros (con frecuencia abreviado UGO, por sus siglas en inglés, User, Group, Others). De hecho, los permisos en Unix son una forma simplificada de listas de control de acceso (ACLs).

El directorio files:

Al momento de instalar Drupal, se nos solicita que creemos un directorio llamado files y le demos permisos de escritura.

Este directorio será el que alojará los siguientes archivos entre otros:

El reporte de estado de Drupal indicará si puede o no escribir en el directorio files de Drupal.

Problemas con los permisos:

No se puede escribir en el directorio

Se puede escribir en files:

Se puede escribir en el directorio

En algunos tutoriales también se recomienda darle permisos de escritura de esta manera

chmod -R 777 files

En otros,

chmod -R 755 files

A decir verdad, este número, 777 (puede ser inseguro), o 755 o el que se use, depende directamente de la configuración del servidor.

¿Quién usa files?

La pregunta que debería hacerse entonces, es quién va a escribir en el directorio files.

En principio, seguramente será apache. Cada vez que usted adjunte un archivo a un modulo o reconstruya el cache de css, Drupal le dirá a apache que tiene que guardar estos archivos en el directorio files.

Por lo tanto, en principio con esta configuración debería bastar.

Aclaración: Este artículo asume que para convertirse en root usted escribe su, en ubuntu debería escribir sudo su

su
chown www-data files
chmod -R 700 files

Esto le daría permisos de, lectura, escritura y ejecución al usuario de apache (www-data), por y de esta manera podrá escribir y leer en el directorio files.

Sin embargo, que sucede si usted, como webmaster necesita navegar el directorio files desde, por ejemplo, una conexión SSH.

En ese caso, tal vez sea recomendable que el directorio files sea propiedad del usuario, por ejemplo webmaster y apache tenga permisos de escritura a través del grupo


su
chown webmaster:www-data files
chmod -R 770 files

Ahora usted podrá navegar ese directorio a través de ssh.

Sin embargo, si quiere estar seguro de que todo funcione, correctamente, debería darle permisos al grupo “otros” al menos, en forma de lectura.

su
chown webmaster:www-data files
chmod -R 774 files

Si usted no va a acceder de ningun modo al directorio files, y dejará que drupal se encargue, entonces tal vez la mejor configuración sea,

su
chown www-data files
chmod -R 744 files

Los demás archivos

Todos los demás archivos no deben modificables por apache, ni por ningun otro tipo de usuario.

Si usted (webmaster) es dueño de los archivos, tal vez la mejor configuración sea:

chmod 644 settings.php

y aplicarla a todos los archivos del sitio.

Nota: Si usted llegó aquí intentando solucionar problemas con imagecache, tenga en cuenta dos cuestiones:

Para clientes FTP

Si bien todos los ejemplos de arriba asumen que usted tiene acceso SSH, con un cliente FTP "debería" poder hacer lo mismo. Digo debería porque solo lograra resultados 100% confiables si puede acceder como root al FTP, sino dependerá de la configuración de su servidor.

En este caso utilizando FileZilla, puede hacer clic derecho en el directorio en cuestión:

Clic derecho sobre el directorio

y Luego verá los permisos que se mencionaban anteriormente. Pudiendo definir si se deben aplicar a todos los subdirectorios, o solo a los archivos.

Permisos de archivo y directorio

Te invito a leer también...

Compartir este material en...