Ajustando permisos de Apache y usuario FTP en un servidor LAMP

publicado por Carlos Torres el 23/05/2013 17:57

Nuestro objetivo es que puedan convivir los permisos del FTP del usuario y del servidor web (PHP) para que no existan problemas de falta de permisos cuando el servidor web intenta escribir en determinados directorios del usuario.

Si los usuarios del servidor Apache y el usuario del FTP son distintos...

1) primero tenemos que hace que sean del mismo grupo:

[host~]$ usermod -g users apache

En este caso ponemos el grupo del usuario de Apache como el mismo de los usuarios de FTP. 

2) Ahora ajustamos la máscara de permiso por defecto de Apache (perUmask):

Para CentOS y Red Hat distros, hay que añadir la configuración de umask a /etc/sysconfig/httpd y reniciar Apache.
[host~]$ echo "umask 002" >> /etc/sysconfig/httpd
[host~]$ service httpd restart

Más info sobre umask en: http://www.ducea.com/2009/08/03/apache2-umask/

Ahora la máscara por defecto del usuario apache será 002 (ó 0002), pero hay que advertir, que algunas aplicaciones pueden cambiar esta máscara con la funcion umask de PHP:

http://php.net/manual/es/function.umask.php

3) Cambiar los permisos del usuario en el FTP.

Se puenden cambiar todos los permisos de usuario, por ejemplo, con una máscara 002, pero esto es algo inseguro. Lo ideal es dar permiso de escritura solo a aquellos directorios en el que el usuario del servidor Apache deba escribir.


Añadir un comentario:

Nombre:

E-Mail:

Comentario: :

Enviar >>