ehm... mi pare che hai frainteso alcune cose.
L'init script deve essere eseguito dall'utente root proprio affinché sia possibile che il daemon sia eseguito da un utente diverso!
Soltanto root ha il privilegio di "impersonare" un utente diverso da sé stesso (può impersonare qualsiasi utente).
Per ovvi motivi nessun utente normale può farlo. Quanto meno non senza fornire le credenziali di autenticazione dell'utente che vuole impersonare (oppure utilizzare altri meccanismi che consentano di gestire adeguatamente il controllo degli accessi, i problemi di sicurezza, ecc).
In effetti, esiste anche un meccanismo che consente di eseguire direttamente un file creando un processo che appartiene all'utente e/o al gruppo proprietari del file anziché all'utente che lo ha eseguito (cioè che consente di "impersonare" tale utente/gruppo), senza richiedere autenticazione: quello del SUID/SGID.
(che è poi il meccanismo di base su cui si basano praticamente tutti gli altri, ed è utilizzato ad es. anche da "su", "sudo", ecc).
Solo che c'è un problema: oltre a porre notevoli e pressanti problemi di sicurezza, l'uso del bit di suid/sgid comporta che ciò avvenga sempre e per chiunque (qualsiasi utente) abbia il permesso di eseguire quel file. Cosa che spesso non è affatto ciò che si vorrebbe.
Controllare l'avvio o l'arresto di un servizio di sistema è una operazione che non è - e non deve essere - di pertinenza di un utente normale, ma solo ed esclusivamente dell'amministratore del sistema (cioè root).
non ho visto il file in questione, ma presumo che il meccanismo sia sempre il solito... viene fatto il "source" del file di configurazione.
Comando "source <pathname>" o ". <pathname>" (notare lo spazio dopo il '.'). Tanto per capirci, è analogo ad un "include": a tutti gli effetti, è come se il contenuto del file venisse "copiato" - in quel punto - all'interno del file che esegue la chiamata.