Si ya tienes un mensaje con algunas sugerencias sobre el mismo tema (como estos dos que te uní) .. mejor sigue insistiendo en el mensaje que iniciastes haciendo las aclaraciones pertinentes, adjuntando más información de tus pruebas o preguntando lo que no entiendas.
También te recuerdo que el tema de permisos como los estás usando (par UNIX/Linux) .. no es temática directa de PHP .. sino más bien del uso de dichos sistemas operativos .. Te recuerdo que tienes un foro sobre "Linux" donde poder aclarar esas dudas concretas ...
A nivel de "PHP" te puedo comentar que:
PHP al ejecutarse en tu servidor .. lo hace bajo cierto Usuario .. cuando tu accedes con tu cliente FTP común (y tu usuarios/contraseña) .. lo haces con otro usuario (cara al S.O. de ese servidor) .. Que estén en el mismo grupo o no .. eso ya depende de la configuración de usuarios de ese servidor concreto ..
Sobre el tema de que "nivel" concreto usar por seguridad .. mejor consulta en el foro de Linux y/o "seguridad y redes". Sólo te puedo comentar que por el hecho de que si trabajas un archivo (o directorio) desde PHP (que lo creas con PHP y sus funciones) .. tendrás que darle los permisos para "todo usuario" si pretendes accederlo por "FTP" o por otro cliente (usuario).
Según ejecutes PHP .. podrías requerir de:
Cita: umask() fija las umask PHP con la mascara & 0777 y y devuelve la antigua umask. Cuando PHP se está usando como un módulo del servidor, la umask se restaura cuando cada petición es finalizada.
umask();
http://www.php.net/manual/en/function.umask.php
Usandolo tipo:
Código PHP:
$old = umask(0); // tomas el valor actual ...
chmod("/some/dir", 0755); // creas tu directorio con tal permiso especifico ..
umask($old); // y lo restauras ...
Un saludo,