Sua pergunta basicamente inclui a resposta .... Um script que irá percorrer um subdiretório de cada home de usuários, procurando por scripts executáveis. Então sudo -u user /export/home/user/scripts/scriptname.sh start. Você não terá controle sobre o que os scripts fazem, por isso você precisará confiar em seus usuários.
Insista para que eles escrevam seus scripts para aceitar stop start restart como $ 1 param e que eles não devem usar nenhuma variável de ambiente que tenha sido configurada em seus arquivos .profile, .cshrc ou .bashrc. O script precisa efetivamente ser autônomo.
#!/usr/bin/bash
run_cmd {
cd /export/home
for HOMEDIR in *; do
for SCRIPT in /export/home/$HOMEDIR/scripts/*; do
if [ -x $SCRIPT ]; then
echo "$ACTION user $HOMEDIR's script $SCRIPT"
sudo -u $HOMEDIR $SCRIPT $ACTION &
fi
done
done
}
case $1 in
start) ACTION=start;
run_cmd;;
stop) ACTION=stop;
run_cmd;;
restart) ACTION=stop;
run_cmd;
sleep 60;
ACTION=start;
run_cmd;;
*) echo "$1 not recognized as valid cmd";;
esac
exit 0
Você precisará ajustar isso para o seu ambiente, local de bash / homedirs etc.