Exim: TLS currently unavailable? Controlla i permessi

Se volete mettere al sicuro il vostro server smtp, è buona cosa criptare il tutto utilizzando il protocollo TLS.

Perchè ciò sia possibile, dovrete, ovviamente, creare i certificati e assicurarvi che il vostro file exim.conf sia settato nella maniera corretta. Per fare ciò vi rimando alla guida ufficiale. Assumo che siate sicuri di aver settato tutto correttamente.

È tuttavia possibile che, anche in questo modo, vi continui ad apparire un errore che dice che non è al momento disponibile la cifratura TLS.

Nei file di log, ho trovato questo simpatico avviso:

2011-01-28 10:37:00 TLS error on connection from localhost (openssl.client.net) [127.0.0.1] (SSL_CTX_use_PrivateKey_file file=/etc/exim.key): error:0200100D:system library:fopen:Permission denied

Che si conclude con un esplicito: Permission denied.

Andando a controllare i permessi del certificato, ho notato che questo era di proprietà di root e che soltanto il proprietario era autorizzato a leggerlo. Fate anche voi questo controllo (la cartella in cui è presente il vostro certificato potrebbe essere differente):

cd /etc
ls -l | grep exim.key

Se il risultato è il seguente:

rw------- 1 root root 891 Dec 13 09:25 exim.key

Allora avete il mio stesso problema. Exim, infatti, non viene eseguito dall’utente root, ma dall’utente mail, che quindi deve avere permesso di lettura sul file. Per darglieli, diamo allora i due seguenti comandi:

chown root:mail exim.key
chmod 640 exim.key

In questo modo avrete assegnato il file all’utente root e al gruppo mail, dando anche a quest’ultimo i permessi di lettura sul file.