In che modo gli amministratori dovrebbero leggere la posta di root?


61

Qual è il modo Ubuntu per gli amministratori di sistema di ricevere notifiche di sistema, che in genere assumono la forma di e-mail inviata all'account di root?

Esempi di tali notifiche sono l'output di cron job o notifiche RAID degradate .

Su un'installazione praticamente predefinita di Ubuntu 10.04, non riesco a trovare alcun modo per cui qualcosa accada alla posta di root oltre a essere depositato /var/mail/root. In che modo gli utenti dovrebbero 1. scoprirlo e 2. leggerlo non appena arriva?

Rilevo che su un verrucosa, l'installatore aggiunto root: myusernamea /etc/aliases. Quindi allora l'utente che ha installato il sistema se ha letto la posta locale. Quindi sembra che ci sia stata una regressione da qualche parte lungo la strada. Tuttavia questa non era una soluzione completa, perché non ci si può aspettare che gli utenti Ubuntu siano consapevoli di avere posta locale e che dovrebbero configurare il proprio client di posta per leggerla.

AGGIUNTO : date le risposte correnti, un utente del server dovrebbe essere in grado di far fronte, a condizione che sia a conoscenza del problema. Giusto. Ma considera J. Random Desktop User, che non sa come utilizzare una riga di comando e sa solo fare clic sull'icona della cassetta postale per leggere la sua posta. Come può essere informato che il suo sistema vuole dirgli qualcosa? (Consentire un intervento una tantum da parte di un utente più competente se ciò è inevitabile.)


1
Sono riuscito a convincere KMail a leggere la mia posta locale usando alcuni hack molto strani che ho trovato, ma dall'aggiornamento alla 11.10 mi sono perso
Dirk Hartzer Waldeck,

Recentemente ho fatto un lungo tutorial su questo argomento, anche se relativo a Thunderbird: vedi askubuntu.com/questions/192572/…

@Mik Che, con qualcosa in più sull'installazione di postfix in alto, farebbe una bella risposta qui.
Gilles 'SO- smetti di essere malvagio' il

@Gilles Grazie, anche se probabilmente dovrei accorciare o eliminare la risposta all'altra domanda, quindi non ci sarebbero duplicazioni.

@Mik No, andrebbe bene ripubblicare sostanzialmente la stessa risposta (non esattamente, dato che qui avresti bisogno di iniziare installando un MTA). Le domande non sono duplicate: ci sono risposte qui che non funzionerebbero sull'altra domanda e viceversa. Succede che a volte il 90% di una risposta possa essere riciclato per un'altra domanda, va bene.
Gilles 'SO- smetti di essere malvagio' il

Risposte:


33

Incoraggiato dai commenti di Gilles , ho adattato e ampliato un'altra risposta:

(Sto eseguendo Ubuntu 12.04.1 LTS, ma il processo di installazione generale dovrebbe applicarsi a Ubuntus precedente e futuro)


La prima cosa da fare è installare un Mail Transfer Agent (MTA) in modo che la posta possa essere inoltrata a un User Agent (MUA) come Thunderbird. Ciò è necessario solo perché abbiamo a che fare con la posta locale e vogliamo essere in grado di inviarla e riceverla; con normali account di tipo gmail remoto, Thunderbirdè necessario solo un agente utente come quello .

Uso postfix, che di per sé è un'alternativa sendmail, di cui esistono versioni commerciali e open source. Maggiori informazioni sulle funzionalità di postfix sono disponibili sul sito ufficiale e gli utenti potrebbero scoprire che le mailing list contengono informazioni utili in caso di problemi.

Quindi, per installare il programma, eseguire

sudo apt-get install postfix

È possibile configurarlo al momento dell'installazione o rifiutare l'offerta e successivamente eseguirla

sudo dpkg-reconfigure postfix

per creare l'importante file di configurazione ( /etc/postfix/main.cfg). Se si modifica manualmente questo file, cosa non necessariamente consigliata, è necessario eseguire sudo newaliasese sudo service postfix restartsuccessivamente applicare le modifiche.

Postfixè piuttosto semplice da configurare, anche se potresti avere alcune impostazioni particolari che desideri applicare. Nella prima schermata che vedi di seguito, devi scegliere l'opzione locale per la tua posta:

inserisci qui la descrizione dell'immagine

Quindi nella schermata successiva scegli il tuo 'nome mail'; di solito è lo stesso di /etc/hostname. È possibile accettare le impostazioni predefinite per la maggior parte delle seguenti schermate.

inserisci qui la descrizione dell'immagine

Quando menziona /etc/aliasese il destinatario Root e Postmaster (come sopra), puoi inserire il tuo nome utente, ma assicurati di controllare che il tuo alias sia come dovrebbe essere leggendo la prossima sezione di questo tutorial.

Innanzitutto, come raccomandato anche in questa discussione , /etc/aliasesdovresti essere così se è impostato correttamente:

postmaster:    root
root:   mike 

In caso contrario, modificalo con sudo nano /etc/aliases, quindi esegui sudo newaliasese in sudo service postfix restartmodo che la configurazione venga aggiornata. Postfix'sla funzione alias consente di reindirizzare la posta, quindi l'installazione è molto importante per il resto di questa esercitazione.

Come notato anche nel link sopra , è necessario creare un .forwardfile contenente il tuo nome utente e localhost: ad esempio in mike@localhostmodo che la posta di root ti venga inoltrata. Per fare ciò, inserisci questi comandi:

sudo touch /root/.forward

e poi corri

sudo nano /root/.forward

per posizionare il tuo utente: ad es. mike@localhostnel file e salvarlo.

Inoltre , ho scoperto che era necessario aggiungere il tuo utente al gruppo di posta in modo che Thunderbirdpotesse accedere ai file di posta:

sudo adduser $USER mail

quindi disconnettersi e accedere per rendere effettive le modifiche. Non è necessario chowno chmodalcun file, come potrebbero suggerire alcuni articoli, e l'aggiunta dell'utente al gruppo di posta è una pratica molto migliore ed evita qualsiasi modifica diretta delle autorizzazioni sul filesystem di root.


Ora per la Thunderbirdconfigurazione. Vai a modifica> impostazioni account> azioni account> aggiungi altro account> seleziona Unix spoolmail e nella schermata successiva inserisci il tuo nome utente nella prima casella e posizionalo yourusername@localhostnella seconda casella.

inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

Ora, vai al tuo nuovo account nelle impostazioni dell'account e seleziona le impostazioni del server e seleziona la directory locale come /var/mailo /var/mail/username(se impostato), come nella schermata qui sotto.

inserisci qui la descrizione dell'immagine

Secondo le istruzioni in questo articolo dovrai configurare il server smtp se vuoi testare l'account inviando una mail a root@localhoste poi facendo clic su get mail in Thunderbird per riceverlo, poiché la posta di root viene reindirizzata a youruser@localhost.

Vai a impostazioni account> server in uscita e scegli di aggiungerne uno nuovo. Le impostazioni dovrebbero essere come nello screenshot qui sotto:

inserisci qui la descrizione dell'immagine

Ora, infine, prova il tuo account componendo un messaggio di posta elettronica root@localhoste quindi pochi secondi dopo facendo clic su ottieni posta sul tuo account. Dovresti vedere una email come questa:

inserisci qui la descrizione dell'immagine

Alcuni programmi o registri dovranno essere configurati in modo da inviare posta alla radice, ma ciò può essere deciso quando ne hai bisogno. Si spera che questo articolo sia utile in quanto non è sempre semplice impostare Thunderbirdper ricevere la posta locale.


Funziona per 17.04, non ho toccato i gruppi.
Artyom,

21

Se questo è un server, ti consiglio vivamente di fare il root di alias su un vero indirizzo e-mail in modo da farti consegnare la tua e-mail ai tuoi amministratori È facile come aggiungere

# Person who should get root's mail
root:   all_administrators@mydomain.com

alla fine di / etc / aliases

In alternativa puoi configurare la posta in modo che sia aliasata al tuo nome utente locale e quindi quando effettui l'accesso otterrai il messaggio "Hai posta", che puoi controllare usando il mailcomando o installando pine / mutt / alpine o qualcosa di simile su quel server ..


1
Grazie, suppongo sia una spiegazione sufficiente per un amministratore del server. Ma come posso spiegarlo all'utente desktop J. Random, che sicuramente non utilizzerà la riga di comando, ma vorrebbe sapere se i suoi dischi non funzionano?
Gilles 'SO- smetti di essere malvagio' il

1
La tua domanda inizia: "Qual è il modo Ubuntu per gli amministratori di sistema di ricevere notifiche di sistema ...". Tuttavia, per gli utenti desktop, per tenere d'occhio i messaggi di sistema potrebbero usare gnome-system-log per visualizzare i registri (che è già installato su un desktop Ubuntu predefinito come parte del pacchetto gnome-utils) o aggiungere "root: nome utente "alla fine di / etc / aliases. Sono d'accordo che questa sia una soluzione debole e che forse dovrebbe essere sollevato un bug per riavere questa funzionalità in quanto non esiste un modo GUI per farlo su un'installazione predefinita di Ubuntu.
Richard Holloway,

L'alias per gli amministratori del server è il migliore. Puoi anche sudo su - quindi utilizzare un client CLI. Ma se stai amministrando seriamente una scatola, crea l'alias. Gli utenti normali non devono vedere questa mail. Hanno altri mezzi per i messaggi di notifica. Se lo desiderano, possono creare l'alias. Ha perfettamente senso che questo sia disattivato per impostazione predefinita.
Coteyr,

Una volta impostato un alias, c'è un modo per inoltrare tutta la posta già esistente?
Giovanni,

Non sembra esserci un /etc/aliasesfile. Ciò richiede l'esecuzione di un server di posta affinché venga generato?
Giovedì

11

Personalmente sto usando un agente mailer chiamato nullmailer. Funziona come un proxy di posta e trasferisce tutte le e-mail inviate a root a un indirizzo di posta a tua scelta.

Devi impostare le sue impostazioni nei file conf in / etc / nullmailer. Fondamentalmente: fornisci il tuo indirizzo e-mail credenziali e le credenziali e l'indirizzo su cui desideri ricevere le e-mail di root.

Puoi installarlo con

sudo apt-get install nullmailer

Puoi ottenere maggiori informazioni sulla sua configurazione qui: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer


+1 grazie per il link (e il concetto MTA teeny incorporato in esso)
msw

2

Al momento non viene notificato all'utente l'esistenza di una casella di posta locale root, poiché user! = rootSe è necessario controllare la casella di posta, è possibile digitare quanto segue: sudo mailper avviare l'applicazione di posta sotto root.

Puoi anche accedere come root su quel server. Per sbloccare la password di root è sufficiente digitare: sudo passwde inserire una nuova password per root.


1
Con un utente di test in 10.04 che utilizza l'interfaccia basata su gnome predefinita o l'interfaccia basata su kde predefinita o l'interfaccia basata su lxde predefinita, non vedo alcun tipo di notifica che ci sia qualcosa in /var/mail/$USERentrambi.
Gilles 'SO- smetti di essere malvagio' il

1

Un'alternativa: archivio tutta la posta radice in alcuni file, quindi elimino la posta originale.

I cron uno script (ecco la parte chiave) -

#!/bin/bash
if `/usr/bin/mail -e`; then
   /usr/bin/mail --print 2>&1 > /tmp/email_${date +"%Y-%m-%d_%H.%M").log
   echo ‘d *’ | /usr/bin/mail -N > /dev/null
fi
exit 0

Questo mantiene le cose in ordine e posso tenerle d'occhio. Potrei inviare via email un file di posta giornaliero a un ID di posta elettronica esterno, ecc ...

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.