smartd - account not found: no configuration file available

PaulAtreides

Well-Known Member
Warum bekomme ich die Fehlermeldung account default not found? Wenn ich das Script /root/bin/smartd-email.sh über die Konsole aufrufe funktioniert es tadellos.

echo "Testnachricht für SMARTD-Warnung" | ./smartd-email.sh

/var/log/messages
Feb 8 18:12:07 athena smartd[53232]: Warning via /root/bin/smartd-email.sh to root@localhost produced unexpected output (65 bytes) to STDOUT/STDERR:
Feb 8 18:12:07 athena smartd[53232]: msmtp: account default not found: no configuration file available

/root/bin/smartd-email.sh
#!/bin/csh

set SUBJECT="SMARTD-Warnung auf hostname"
set TO=„test@test.de
(echo "Subject: $SUBJECT"; echo "To: $TO"; echo ""; cat) | msmtp -a default $TO

/usr/local/etc/smartd.conf
DEVICESCAN -a -I 194 -I 231 -I 9 -W 0,60,50 -S on -s (S/../../6/02|L/1/06/02) -m root@localhost -M exec /root/bin/smartd-email.sh

/root/.msmtprc
defaults
auth on
tls on
tls_trust_file /etc/ssl/cert.pem
logfile ~/.msmtp.log

account baureo
host "server"
port 465
tls_starttls off
from "email"
user "user"
password "password"

account default: baureo
 
Fehlt da nicht irgendwo account ... mit host, from und den ganzen anderen Parametern, oder hast du das in SYSCONFDIR/msmtprc konfiguriert?
Wenn letzteres, wie schaut es mit den Leserechten aus?

If it exists and is readable, a system wide configuration file SYSCONFDIR/msmtprc will be loaded. Use --version to find out which SYSCONFDIR your version of msmtp uses.

Könnte aber auch am Accountnamen liegen, nicht das es da zu kollision mit dem "echten" default gibt.
 
Abgesehen vom Script habe ich die gleichen Einstellungen auf einer OpenBSD Maschine. Da läuft alles ohne Probleme. Das Script musst ich von ksh auf csh anpassen.
 
Es ist nur ein Detail aber die Manpage sagt, dass ein Doppelpunkt nach einem Accountnamen mit Leerzeichen getrennt werden muss:
Code:
account default : baureo
               ^
 
Hm da habe ich doch glatt den restlichen Inhalt aus dem Spoiler übersehen, sorry.
Hast du mal die Konfiguration in SYSCONFDIR/msmtprc gepackt, anstelle von /root/.msmtprc?
 
Unter welchem User läuft denn smartd bzw. wird dann msmtp ... ausgeführt? Glaube der Standard ist root, bin mir gerade aber nicht sicher.
Wenn es unter einem anderen User läuft, schaut der wohl an der falschen Stelle oder ihm fehlen irgendwelche Environment Variablen, weswegen der nicht in /root/.msmtprc schaut.
 
Warum bekomme ich die Fehlermeldung account default not found? Wenn ich das Script /root/bin/smartd-email.sh über die Konsole aufrufe funktioniert es tadellos.



/var/log/messages


/root/bin/smartd-email.sh


/usr/local/etc/smartd.conf


/root/.msmtprc
Es scheint, dass msmtp die Konfiguration für das Standardkonto nicht richtig finden kann. Überprüfe die Berechtigungen der Datei /root/.msmtprc und stelle sicher, dass smartd darauf zugreifen kann. Vergewissere dich, dass in der Konfigurationsdatei keine unerwünschten Leerzeichen oder Sonderzeichen vorhanden sind, und teste das Skript mit der expliziten Angabe des Kontos wie msmtp -a baureo statt -a default.
 
Zurück
Oben