Script serveur DHCP

Je cherche a écrire un script pour créer des entrées DHCP, les insérer, et redémarer le serveur DHCP a la fin. Pour le moment tout fonctionne parfaitement, simplement j’aurai aimer avoir une petite gestion des erreurs, je m’explique.

Pour une raison ou une autre il peux être possible que le serveur ne veuille pas redémarer, dans ce cas la il faut que je puisse le savoir (sachant que tout serra automatiser).
Pour cela j’effectue cette commande sans les droit root:

Sur ubuntu aucun problème j’obtient bien :

dhcpd self-test failed. Please fix the config file. The error was: drop_privileges: could not set group id: Operation not permitted echo $? 1

Mais sur une debian lenny:

Stopping DHCP server: dhcpd3start-stop-daemon: warning: failed to kill 26668: Operation not permitted failed! rm: ne peut enlever `/var/run/dhcpd.pid': Permission non accordée echo $? 0

On me retourne quand même 0, alors qu’il n’a pas pus arréter le serveur !
Des idées ?

Merci d’avance pour votre aide !

Je regarderai le script de plus près … tout ce qui est dans init.d sont des scripts Bash donc modifiable a souhait. Sinon as tu regarder sur le bugtracker de lenny ?

est si tu mets un sudo ça donne quoi

Merci Mimoza, j’ai suivi ton conseil, j’ai modifier le fichier dhcp3-server, voila ce que ca donne:

 stop)
                log_daemon_msg "Stopping $DESC" "$NAME"
                start-stop-daemon --stop --quiet --pidfile $DHCPDPID
                log_end_msg $?
                rm -f "$DHCPDPID"
                if [ "$?" != "0" ]; then
                        exit 1
                fi

                ;;

J’ai simplement rajouter :

if [ "$?" != "0" ]; then
      exit 1
fi

Qui, en fait, ne fait que tester si le rm s’est bien déroulé… Mais ca me suffit pour mon script, car si le rm s’est bien déroulé c’est qu’il a bien pu stopper le serveur.

start-stop-daemon --stop --quiet --pidfile $DHCPDPID log_end_msg $?

J’ai l’impression qu’il log ça dans un fichier/variable dans un coin quand même.
Regarde a quoi correspond ce “log_end_msg”

Tu as la réponse :

[quote]Stopping DHCP server: dhcpd3start-stop-daemon: warning: failed to kill 26668: Operation not permitted
failed![/quote]

Tu dis effectuer cette commande en ‘user’, c’est impossible puisque /etc/init.d/dhcp3-server appartient à root.
Donc, comme écrit par vincs974, logue-toi en tant que root, ou avec sudo, si bien configuré pour.