-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
HI Dealer aka p@rick,
nachdem Du mich zum Thema AMaViS und SNMP angefixt hast, habe ich mal eine grundsätzliche Frage, natürlich wieder etwas off-topic hier auf der Liste. ;)
Der amavisd-snmp-subagent stellt ja auch Informationen der Postfix-Queues dem SNMP-Daemon zur Verfügung. Die Rechte stehen hierzu wie folgt: # ll /var/spool/postfix/ total 16 drwx------. 2 postfix root 6 Oct 1 11:05 active drwx------. 2 postfix root 6 May 5 13:50 bounce drwx------. 2 postfix root 6 May 5 13:50 corrupt drwx------. 15 postfix root 4096 Oct 1 06:00 defer drwx------. 15 postfix root 4096 Oct 1 06:00 deferred drwx------. 2 postfix root 6 May 5 13:50 flush drwx------. 2 postfix root 6 May 5 13:50 hold drwx------. 2 postfix root 6 Oct 1 11:00 incoming drwx-wx---. 2 postfix postdrop 6 Oct 1 11:00 maildrop drwxr-xr-x. 2 root root 4096 Sep 30 20:55 pid drwx------. 2 postfix root 4096 Sep 30 20:55 private drwx--x---. 2 postfix postdrop 68 Sep 30 20:55 public drwx------. 2 postfix root 6 May 5 13:50 saved drwx------. 2 postfix root 6 May 5 13:50 trace
Damit kein unberechtigter Nutzer auf Inhalte der eMails zugreifen kann, "gehören" die Verzeichnisse dem User postfix - macht ja auch Sinn.
Unter CentOS 7 wird der amavisd-snmp-subagent mit den Rechten "amavis:amavis" gestartet; soweit so gut.
Frage ich nun den SNMP-Daemon nach Daten des AMaViS-Daemon erhalte ich lediglich: # snmpwalk -v 3 -l AuthNoPriv -u mailsupport \ -A c96tOp2SaqQFngE5ioGK+O2NjfMgmCmHgls \ 127.0.0.1 AMAVIS-MIB::inMsgsSizeOriginating
AMAVIS-MIB::inMsgsSizeOriginating = No Such Object available on this agent at this OID
Ich hatte im ersten Schritt den Unix-Socket des SNMP-Daemon in Verdacht, warum zum bennanten OID nichts zurückgemeldet wird. Nachdem ich zu Debug-Zwecken den amavisd-snmp-subagent im Vordergrund hab laufen lassen, kam ich aber der eigentlichen Ursache auf die Schliche:
got a Postfix queue directory: /var/spool/postfix can't open directory /var/spool/postfix/active: Permission denied amavis-agentx-1.7 (20140127) starting in foreground, perl 5.016003 Warning: Failed to connect to the agentx master agent ([NIL]): registering root OID 1.3.6.1.4.1.15312.2.1.1 for am.snmp registering root OID 1.3.6.1.4.1.15312.2.1.2 for am.nanny not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.1 for pf.maildrop not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.2 for pf.incoming not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.3 for pf.active not registering root OID 1.3.6.1.4.1.15312.2.1.3.1.4 for pf.deferred
"can't open directory", tja, der Daemon läuft ja auch mit den rechten des Users *amavis*!
Starte ich den amavisd-snmp-subagent mit root-Rechten, sieht das natürlich anders aus:
got a Postfix queue directory: /var/spool/postfix amavis-agentx-1.7 (20140127) starting in foreground, perl 5.016003 NET-SNMP version 5.7.2 AgentX subagent connected registering root OID 1.3.6.1.4.1.15312.2.1.1 for am.snmp registering root OID 1.3.6.1.4.1.15312.2.1.2 for am.nanny registering root OID 1.3.6.1.4.1.15312.2.1.3.1.1 for pf.maildrop registering root OID 1.3.6.1.4.1.15312.2.1.3.1.2 for pf.incoming registering root OID 1.3.6.1.4.1.15312.2.1.3.1.3 for pf.active registering root OID 1.3.6.1.4.1.15312.2.1.3.1.4 for pf.deferred
Frage ich nun den SNMP-Daemon nach dem Wert inMsgsSizeOriginating im AMAVIS-MIB erhalte ich den gewünschten Wert:
# snmpwalk -v 3 -l AuthNoPriv -u mailsupport \ - -A c96tOp2SaqQFngE5ioGK+O2NjfMgmCmHgls \ 127.0.0.1 AMAVIS-MIB::inMsgsSizeOriginating
AMAVIS-MIB::inMsgsSizeOriginating.0 = Counter64: 200131
Tja, nun stellt sich für mich die Frage, gibt es einen anderen/besseren Weg als den amavisd-snmp-subagent mit Root-Rechten laufen zu lassen?
Servus Django