Mail auf der Konsole versenden

Wenn man einen Server mit einem Mail Transfer Agent wie Postfix betreibt, kann man von diesem auch Mails versenden. Auf der Konsole ist dies dabei mit dem Kommando mail möglich, welches sich im Paket mailutils befindet. Mit dem Kommando kann mittels:

echo "Nachricht" | mail -s 'Betreff' 

eine Mail versandt werden. Natürlich können auch lokale Konten bespielt werden:

echo "Nachricht" | mail -s 'Betreff' root

Damit wird in diesem Fall dem Nutzer root eine Mail gesendet.

Invalid user settings unter Dovecot

Vor einigen Tagen ist mir ein Mailserver (bestehend aus Postfix und Dovecot) begegnet, welcher in der mail.err regelmäßig folgende Ausgabe wiederholte:

Apr 2 13:16:35 service dovecot: lda(root): Error: chdir(/root/) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
Apr 2 13:16:35 service dovecot: lda(root): Error: chdir(/root) failed: Permission denied
Apr 2 13:16:35 service dovecot: lda(root): Error: user root: Initialization failed: Namespace '': stat(/root/Maildir) failed: Permission denied (euid=65534(nobody) egid=65534(nogroup) missing +x perm: /root, dir owned by 0:0 mode=0700)
Apr 2 13:16:35 service dovecot: lda(root): Fatal: Invalid user settings. Refer to server log for more information.

Der Dovecot-Service versucht auf einen Maildir-Ordner im Nutzerverzeichnis des Nutzers root zuzugreifen, was allerdings nicht gelingt. Einfach lösen lässt sich dieses Problem in dem man einen Alias für die Mailzustellung zum Nutzer root anlegt. Dazu wird im ersten Schritt die Datei /etc/aliases bearbeitet. In dieser Datei kann der entsprechende Alias eingetragen werden:

root: 

Nachdem die Datei gespeichert wurde, muss die Datei in ihre binäre Form überführt werden und die entsprechenden Services neugestartet werden:

newaliases
service dovecot restart
service postfix restart

Damit werden die Mails von root im entsprechenden Postfach hinterlegt und die Fehlermeldung gehört der Vergangenheit an.

Polipo: Permission denied

Mein vor einiger Zeit aufgesetzter Proxyserver startete nicht mehr. Stattdessen bekam ich von Polipo nur noch die Meldung:

Starting polipo: Couldn't open log file /var/log/polipo: Permission denied

Allerdings ließ sich das ganze relativ problemlos aus der Welt schaffen:

touch /var/log/polipo
chmod 640 /var/log/polipo
chown proxy:proxy /var/log/polipo

Danach konnte der Dienst mittels:

service polipo restart

wieder gestartet werden.

Zertifikate für ejabberd erzeugen

Von Zeit zu Zeit laufen Zertifikate ab. So auch in meinem Fall, als sich mein XMPP Client beschwerte, das dass Server-Zertifikat nicht mehr gültig ist. Um für ejabberd neue Zertifikate zu erzeugen, sollte man sich auf seinem Server einloggen und dort folgenden Zeilen eingeben:

openssl req -newkey rsa:2048 -keyout ejabberd.pem -nodes -x509 -days 365 -out ejabberd.cer
cat ejabberd.cer >> ejabberd.pem
cp ejabberd.pem /etc/ejabberd/ejabberd.pem

Anschließend kann der Dienst mittels:

service ejabberd restart

neugestartet werden. Das neue Zertifikat ist damit aktiv und der Dienst kann wieder genutzt werden.