Сделайте выделенного пользователя VHost для загрузки файла FTP и с очень ограниченными полномочиями. Затем настройте апача для выполнения vhost с полномочиями пользователя или с suPHP или с MPM-ITK.
Читать /usr/share/doc/initscripts-*/sysvinitfiles
для получения информации о записи initscript, в котором Вы будете нуждаться для этого.
Если Вы просто хотите запустить этот скрипт во время начальной загрузки, поместите его в crontab того пользователя со специальным временем @reboot
.
Если бы сценарий является продолжительным процессом, который обычно продолжал бы бежать, пока Вы не перезагружаете, то добавление сервиса является лучшим решением.
Или можно добавить к/etc/rc.local что-то как это:
/usr/bin/sudo $user-u/path/to/script/script.rb