jueves, 30 de enero de 2014

Permisos correctos solo a directorios ó archivos en web-servers

Es muy común para los Administradores de sistemas estar instalando CMS (Content Management System) en servidores web y por lo general, la practica no recomendable es establecer todos los permisos a directorios y archivos (777) para evitar algunos problemas con plugins, cache o archivos que se modifican frecuentemente.

Esta practica es un grave error de seguridad permitiendo a personas con el suficiente conocimiento para vulnerar tu CMS y con ello hacer defacement o infectar tu servidor para ser usado como envío de SPAM.

Los permisos recomendados para CMS son los siguientes:

755 para directorios, esto significa que:

El propietario puede: leer, escribir, ejecutar
El grupo puede: leer, ejecutar
Otros pueden: leer, ejecutar

644 para archivos, esto significa que:

El propietario puede: leer, escribir
El grupo puede: leer
Otros pueden: leer

Y para hacerlo de la manera convencional pueden aplicar el típico:

chmod -R 644 /var/www/mipagina/docs/*
O aplicar solo a directorios y archivos (RECOMENDADO)  de la siguiente forma:

Solo a directorios:
find . -type d -exec chmod -R 0755 {} \;

Solo a archivos:
find . -type f -exec chmod -R 0644 {} \;

puedes cambiar el punto (.) por la ruta donde se encuentre tu directorio web ejemplo: /var/www/mipagina/

3 comentarios:

Anónimo dijo...

Gracias por la información. Muy útil. Tengo una pregunta. Estoy desarrollando una web solo para uso propio. Cómo deberían quedar los permisos de /var/www? Por el momento, el owner es root y el grupo es www-data y me resulta incómodo para trabajar: debería agregar miusuario al grupo www-data o directamente cambiar el owner?

villatux dijo...

Puede poner de propietario a www-data por si tu aplicación maneja cambios en archivos dentro del filesystem, y agregar tu usuario como del grupo:

chown -R www-data /var/www
chgrp -R tuusuario /var/www

Saludos

Anónimo dijo...

Muchas gracias por responder. Slds.