Generalmente, las mejores prácticas para los permisos de sitios web son otorgar al usuario web, en su caso www-data
, lectura, pero no escritura, acceso a los archivos de datos. Es decir, algo similar a:
chown root:www-data -R /var/www/html
find /var/www/html -type d -exec chmod 750 {} \;
find /var/www/html -type f -exec chmod 640 {} \;
El objetivo es permitir que la aplicación del servidor web lea los archivos, pero no pueda escribir en ninguna parte. De esa manera, si el servicio web en sí se ve comprometido, hemos limitado la capacidad de un usuario malintencionado para eliminar archivos arbitrarios. (Lea sobre chroot
como corolario, pero está fuera del alcance de esta respuesta).
Las Wikis, por su naturaleza, deben violar esta práctica para que funcionen correctamente. Sin embargo, la clave es entender exactamente qué partes del software wiki necesitan privilegios más altos. Para decidir realmente, tienes una opción:
- Use la interfaz web solo para crear / editar páginas.
- Use la interfaz web para crear / editar páginas, así como para administrar configuraciones.
Opción 1
Esto configurará todos los permisos de nivel de archivo de modo que los usuarios puedan editar / crear páginas, pero requerirán que administre las configuraciones manualmente. Si usted (o quien administra el wiki) se siente cómodo con la sintaxis de PHP, y no le importa trabajar en los archivos de configuración, entonces esta es probablemente su mejor apuesta. Por lo tanto, su conjunto de permisos debe verse como:
chown root:www-data -R /var/www/wiki
chmod 750 /var/www/wiki -R
chmod 770 /var/www/wiki/data -R
chmod 750 /var/www/lib -R
chmod 750 /var/www/conf -R
find /var/www -type f -exec chmod -x {} \;
Entonces, lo que hemos hecho aquí es la lectura / escritura de la raíz y los datos de www, solo en todos los archivos wiki. Luego, se le otorga a www-data los derechos adicionales para escribir en la sección de datos del usuario.
Opción 2
Si también desea administrar las configuraciones a través de la interfaz web, use la misma configuración que la anterior, excepto cambiar la línea 5 por:
chmod 770 /var/www/conf -R
Descargo de responsabilidad: nunca he ejecutado la configuración de DokuWiki de esta manera, pero no veo ninguna razón por la que no funcione. Pruébalo primero, ¿eh?