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):
[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.