Bei der Verwaltung von BigFix über die Linux-Shell mittels BESAdmin.sh bekommt man manchmal kryptische Fehlermeldungen. Zwei davon habe ich nun mitbekommen. Beide Male lag es an der fehlenden Berechtigung, was von BESAdmin aber nicht so kommuniziert wird – leider!
Beim ersten Anwendungsfall lautete die Meldung:
Masthead file does not exist at: /etc/opt/BESServer/actionsite.afxm
Das ist allerdings nicht korrekt – die Datei existiert.
Jedoch ist die actionsite.afxm, wenn BigFix als root installiert wurde und als root ausgeführt wird, mit dem Owner „root:root“ versehen und ohne Leserechte für alle anderen. Führt man nun die BESAdmin.sh aus, „sieht“ der Serviceuser, mit welchem man eingeloggt ist, die Datei nicht. Statt „permission denied“ kommt allerdings als Meldung nur o.a. irreführende Fehlermeldung.
Noch nerviger ist die Fehlermeldung, die auftritt, wenn man mit BESAdmin Befehle ausführen will, die auf die (in unserem Fall Db2-)Datenbank zugreifen muss:
Database Error: [unixODBC][IBM][CLI Driver] SQL30082N Security processing failed with reason „3“ („PASSWORD MISSING“). SQLSTATE=08001
In diesem Fall kann offenbar die Authentifizierung an Db2 nicht erfolgen, weil der eingeloggte Serviceuser nicht auf die in BigFix gespeicherten Credentials zugreifen kann. Auch hier ist die Fehlermeldung nicht „permission denied“, sondern ziemlich irreführend.
Ein einfaches Ausführen mit sudo behebt in beiden Fällen das Problem.