Co se týče FTP - nebylo by jednodušší uživatele nevytvářet na úrovni systému, ale jako záznam v DB? Pak by to PHP mohlo dle libosti upravovat a PureFTP (či cokoliv jiného) přechroustat jako login.
Bez crona a nechutností do systému (ala exec - taky má svůj nepopiratelný význam, ale člověk musí vědět, co dělá, že?) ...