Si vous utilisez nagios et que vous êtes confrontés a cette erreur lorsque vous souhaitez effectuer une opération a partir de l’interface web de nagios, cela est du aux droits du fichier. Si on regarde d’un peu plus près:
/usr/local/nagios/var/rw# ls -l total 0 prw-rw---- 1 nagios nagios 0 11 sept. 14:32 nagios.cmd
On constate que le fichier ne peut être manipulé que pas l’utilisateur nagios. Or lorsque l’on utilise l’interface web, c’est l’utilisateur www-data qui est utilisé. Il faut donc mettre a jours les droits sur le fichier. Le problème c’est que ce fichier est recréé a chaque démarrage de nagios. On modifie donc le fichier /etc/init.d/nagios de façon a changer les droits sur le fichier lors de sa création:
[...] case "$1" in start) echo -n "Starting nagios:" $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1; if [ $? -eq 0 ]; then su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile" rm -f $NagiosCommandFile touch $NagiosRunFile chown $NagiosUser:$NagiosGroup $NagiosRunFile $NagiosBin -d $NagiosCfgFile if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi # added by bux chmod 770 $NagiosCommandFile chown nagios:www-data $NagiosCommandFile # end added by bux echo " done." exit 0 else echo "CONFIG ERROR! Start aborted. Check your Nagios configuration." exit 1 fi ;; [...]
Et voilà !
If you have this error when you use webUI of nagios, you have to modify rights of this file
/usr/local/nagios/var/rw# ls -l total 0 prw-rw---- 1 nagios nagios 0 11 sept. 14:32 nagios.cmd
Web interface execute this file with ‘www-data’ user. So we have to edit permissions of this file. But, nagios.cmd is created by nagios when he start. So we have to edit the init script of nagios:
[...] case "$1" in start) echo -n "Starting nagios:" $NagiosBin -v $NagiosCfgFile > /dev/null 2>&1; if [ $? -eq 0 ]; then su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile" rm -f $NagiosCommandFile touch $NagiosRunFile chown $NagiosUser:$NagiosGroup $NagiosRunFile $NagiosBin -d $NagiosCfgFile if [ -d $NagiosLockDir ]; then touch $NagiosLockDir/$NagiosLockFile; fi # added by bux chmod 770 $NagiosCommandFile chown nagios:www-data $NagiosCommandFile # end added by bux echo " done." exit 0 else echo "CONFIG ERROR! Start aborted. Check your Nagios configuration." exit 1 fi ;; [...]
Et woilà !