Wenn man nrpe-commands über sudo laufen lassen muss, schlagen diese teilweise mit dem wenig sagenden Fehler „NRPE: Unable to read output“ fehl; so z.B. „check_clamd“ und „check_smartmon“ auf CentOS. – Und das obwohl lokal mit dem nrpe-user alles funktioniert!
Schuld ist der visudo-Parameter:
Defaults requiretty |
Dieser ist bei einigen Linux-Distributionen standardmässig deaktiviert-, bei CentOS (und wahrscheinlich auch RHEL) aber aktiviert.
Mit diesem Parameter laufen visudo Kommandos nur noch wenn ein Benutzer in der Shell eingeloggt ist, d.h. weder über cron, cgi, oder eben nrpe (siehe: http://www.courtesan.com/sudo/man/sudoers.html).
Das Problem lässt sich recht einfach beheben:
Zuerst ‚visudo‘ aufrufen und dann die Zeile: „Defaults requiretty“ einfach auskommentieren oder löschen.
Die bessere Alternative wäre eine spezielle sudo Konfiguration für den nrpe Benutzer.