Comment les administrateurs sont-ils censés lire le courrier de root?

61

Comment les administrateurs système reçoivent-ils par Ubuntu les notifications système, qui prennent généralement la forme de messages électroniques envoyés au compte racine?

Des exemples de telles notifications sont la sortie de tâches cron ou des notifications RAID dégradées .

Sur une installation à peu près implicite d'Ubuntu 10.04, je ne trouve aucun moyen de modifier le courrier de root autrement que d'être déposé dans /var/mail/root. Comment les utilisateurs sont-ils supposés 1. le découvrir et 2. le lire au fur et à mesure qu'il arrive?

J'observe que sur une verrue, l'installateur ajouté root: myusernameà /etc/aliases. Donc, à l’époque, l’utilisateur qui a installé le système s’il lit le courrier local. Il semble donc y avoir eu une régression quelque part sur le chemin. Néanmoins, il ne s’agissait pas encore d’une solution complète, car les utilisateurs d’Ubuntu ne peuvent pas savoir qu’ils ont un courrier local et doivent configurer leur client de messagerie pour le lire.

ADDED : compte tenu des réponses actuelles, un utilisateur de serveur devrait être en mesure de faire face, à condition qu'il soit conscient du problème. C'est suffisant. Mais considérons J. Random Desktop User, qui ne sait pas utiliser une ligne de commande et sait seulement cliquer sur l'icône de la boîte aux lettres pour lire son courrier. Comment peut-il être averti que son système veut lui dire quelque chose? (Autorisez une intervention ponctuelle d'un utilisateur plus compétent si cela est inévitable.)

Gilles, arrête de faire le mal
la source
1
J'ai réussi à faire en sorte que KMail lise mon courrier local en utilisant des hacks très étranges que j'ai trouvés, mais depuis la mise à jour du 11.10, je suis perdu
Dirk Hartzer Waldeck
J'ai récemment fait un long tutoriel sur ce sujet, bien que concernant Thunderbird: voir askubuntu.com/questions/192572/…
@Mik Cela, avec un petit quelque chose sur l'installation de postfix en haut, ferait une bonne réponse ici.
Gilles, arrête de faire le mal
@ Gilles Merci, bien que je devrais probablement raccourcir ou supprimer la réponse à l'autre question, afin d'éviter tout double emploi.
@Mik Non, il serait bien de republier sensiblement la même réponse (pas exactement, car il faudrait commencer par installer un MTA). Les questions ne sont pas en double: il y a des réponses ici qui ne fonctionneraient pas sur l'autre question et vice versa. Il arrive que parfois 90% d'une réponse puisse être recyclée pour une autre question, c'est bien.
Gilles 'SO- arrête d'être méchant'

Réponses:

33

Encouragé dans les commentaires de Gilles , j'ai adapté et développé une autre réponse:

(J'utilise Ubuntu 12.04.1 LTS, mais le processus de configuration générale devrait s'appliquer à Ubuntus précédent et futur.)


La première chose à faire est d'installer un agent de transfert de courrier (MTA) afin que le courrier puisse être relayé vers un agent de messagerie tel que Thunderbird. Cela n’est nécessaire que parce que nous traitons du courrier local et voulons pouvoir l’envoyer et le recevoir; avec des comptes de type gmail distants normaux, seul un agent utilisateur tel que Thunderbirdrequis.

J'utilise postfix, qui est en soi une alternative à sendmail, dont il existe des versions commerciales et open source. Vous trouverez plus d'informations sur les fonctionnalités de postfix sur le site officiel . Les utilisateurs peuvent trouver que les listes de diffusion contiennent des informations utiles en cas de problème.

Donc, pour installer le programme, lancez

sudo apt-get install postfix

Vous pouvez soit le configurer lors de son installation, soit décliner l'offre et l'exécuter ultérieurement.

sudo dpkg-reconfigure postfix

pour créer le fichier de configuration important ( /etc/postfix/main.cfg). Si vous modifiez manuellement ce fichier, ce qui n'est pas forcément recommandé, vous devez l'exécuter sudo newaliases, sudo service postfix restartpuis appliquer les modifications.

Postfixest assez simple à configurer, bien que vous souhaitiez appliquer certains paramètres particuliers. Dans le premier écran que vous voyez ci-dessous, vous devez choisir l'option locale pour votre courrier:

entrez la description de l'image ici

Ensuite, sur l’écran suivant, choisissez votre «nom de messagerie»; c'est généralement le même que /etc/hostname. Vous pouvez accepter les valeurs par défaut pour la plupart des écrans suivants.

entrez la description de l'image ici

Lorsqu'il mentionne /etc/aliasesles destinataires Root et Postmaster (comme ci-dessus), vous pouvez entrer votre nom d'utilisateur, mais assurez-vous de vérifier que votre fichier d'alias est comme il se doit en lisant la section suivante de ce didacticiel.

Tout d’abord, comme également recommandé dans cette discussion , vous /etc/aliasesdevriez être comme ceci s’il est correctement installé:

postmaster:    root
root:   mike 

Sinon, éditez-le avec sudo nano /etc/aliases, puis exécutez sudo newaliases-le sudo service postfix restartpour que la configuration soit mise à jour. Postfix'sLa fonctionnalité alias permet de rediriger le courrier. La configuration est donc très importante pour la suite de ce tutoriel.

Comme indiqué également dans le lien ci - dessus , vous devez créer un .forwardfichier contenant votre nom d'utilisateur et votre hôte local: par exemple mike@localhost, le courrier de root vous sera transmis. Pour ce faire, entrez ces commandes:

sudo touch /root/.forward

puis courir

sudo nano /root/.forward

pour placer votre utilisateur: par exemple mike@localhostdans le fichier et enregistrez-le.

De plus , j'ai trouvé qu'il était nécessaire d'ajouter votre utilisateur au groupe de messagerie afin qu'il Thunderbirdpuisse accéder aux fichiers courrier:

sudo adduser $USER mail

puis déconnectez-vous et connectez-vous pour que les modifications prennent effet. Il n'y a pas besoin de chownou chmoddes fichiers, comme certains articles pourraient suggérer, et en ajoutant votre utilisateur au groupe de messagerie est bien meilleure pratique et évite tout changement direct des autorisations sur le système de fichiers racine.


Maintenant pour la Thunderbirdconfiguration. Allez dans Edition> Paramètres du compte> Actions sur le compte> Ajouter un autre compte> Sélectionnez Spoolmail Unix et, dans l'écran suivant, placez votre nom d'utilisateur dans la première case et placez-le yourusername@localhostdans la seconde.

entrez la description de l'image ici entrez la description de l'image ici

Maintenant, accédez à votre nouveau compte dans les paramètres de compte, sélectionnez les paramètres du serveur, puis sélectionnez le répertoire local tel que /var/mailou /var/mail/username(si configuré), comme dans la capture d'écran ci-dessous.

entrez la description de l'image ici

Conformément aux instructions de cet article, vous devrez configurer le serveur SMTP si vous souhaitez tester le compte en envoyant un courrier à root@localhost, puis en cliquant sur Obtenir le courrier dans Thunderbird pour le recevoir, car le courrier de root est redirigé vers youruser@localhost.

Accédez à paramètres du compte> serveur sortant et choisissez d’en ajouter un nouveau. Les paramètres doivent être comme dans la capture d'écran ci-dessous:

entrez la description de l'image ici

Enfin, testez enfin votre compte en composant un courrier électronique root@localhostpuis quelques secondes plus tard, en cliquant sur obtenir un courrier électronique sur votre compte. Vous devriez voir un email comme ceci:

entrez la description de l'image ici

Certains programmes ou journaux devront être configurés pour pouvoir envoyer des messages à la racine, mais cela peut être décidé en fonction des besoins. J'espère que cet article sera utile car il n'est pas toujours simple de le configurer Thunderbirdpour recevoir du courrier local.

Communauté
la source
Fonctionne pour 17.04, je n'ai pas touché les groupes.
Artyom
21

Si c’est un serveur, je vous conseillerais vivement d’alias root sur une adresse électronique réelle pour que votre courrier soit livré à vos administrateurs. Il est aussi simple que d’ajouter

# Person who should get root's mail
root:   [email protected]

à la fin de / etc / aliases

Vous pouvez également configurer le courrier pour qu'il soit associé à votre nom d'utilisateur local. Lorsque vous vous connecterez, vous obtiendrez le message "Vous avez un courrier", que vous pourrez vérifier à l'aide de la mailcommande ou en installant pine / mutt / alpine ou quelque chose de similaire sur ce serveur. ..

Richard Holloway
la source
1
Merci, c'est une assez bonne explication pour un administrateur de serveur, je suppose. Mais comment puis-je expliquer cela à l'utilisateur de bureau J. Random, qui ne va certainement pas utiliser la ligne de commande, mais qui aimerait savoir si ses disques échouent?
Gilles 'SO- arrête d'être méchant'
1
Votre question commence: "Quel est le moyen utilisé par Ubuntu pour que les administrateurs système reçoivent les notifications système ...". Quoi qu’il en soit, les utilisateurs d’ordinateurs de bureau peuvent garder un œil sur les messages système et utiliser gnome-system-log pour afficher les journaux (déjà installés sur un bureau Ubuntu par défaut dans le cadre du paquet gnome-utils) ou ajouter "root: nomutilisateur "à la fin de / etc / aliases. Je conviens qu’il s’agit d’une solution faible et qu’un bug devrait peut-être être soulevé pour obtenir cette fonctionnalité, car il n’existe aucun moyen graphique de le faire sur une installation Ubuntu par défaut.
Richard Holloway
L'alias pour les administrateurs de serveur est le meilleur. Vous pouvez aussi sudo su - puis utiliser un client CLI. Mais si vous administrez sérieusement une boîte, faites le pseudonyme. Les utilisateurs normaux n'ont pas besoin de voir ce courrier. Ils ont d'autres moyens pour les messages de notification. S'ils le souhaitent, ils peuvent créer l'alias. Il est parfaitement logique que cette option soit désactivée par défaut.
coteyr
Une fois que vous avez configuré un alias, existe-t-il un moyen de transférer tous les messages existants?
Jean
Il ne semble pas y avoir de /etc/aliasesfichier. Est-ce que cela nécessite l'exécution d'un serveur de messagerie pour qu'il soit généré?
Thufir
11

J'utilise personnellement un agent de messagerie appelé nullmailer. Il agit en tant que proxy de messagerie et transfère tous les courriers envoyés à root vers une adresse de votre choix.

Vous devez définir ses paramètres dans les fichiers de configuration sous / etc / nullmailer. Fondamentalement: donnez-lui votre adresse mail et vos identifiants, ainsi que l'adresse sur laquelle vous souhaitez recevoir les emails racine.

Vous pouvez l'installer avec

sudo apt-get install nullmailer

Vous pouvez obtenir plus d'informations sur sa configuration ici: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer

Little Jawa
la source
+1 merci pour le lien (et le concept MTA
teeny
2

À l'heure actuelle, il n'existe aucune notification à l'utilisateur indiquant qu'une boîte aux lettres locale racine existe, car user! = rootSi vous deviez vérifier la boîte aux lettres, vous pouvez taper ce qui suit: sudo mailpour lancer l'application de messagerie sous root.

Vous pouvez également vous connecter en tant que root sur ce serveur. Pour déverrouiller le mot de passe root, tapez simplement: sudo passwdet entrez un nouveau mot de passe pour root.

Marco Ceppi
la source
1
Avec un utilisateur test dans 10.04 utilisant l'interface par défaut basée sur gnome, ou l'interface par défaut basée sur kde, ou l'interface par défaut basée sur lxde, je ne vois aucun type de notification indiquant qu'il y a quelque chose dans ces éléments /var/mail/$USER.
Gilles, arrête de faire le mal '14
1

Une alternative - J'archive tout le courrier root dans certains fichiers, puis je supprime le courrier d'origine.

Je cron un script (voici la partie clé) -

#!/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

Cela garde les choses en ordre et je peux garder un œil dessus. Je pourrais envoyer un fichier courrier quotidien à un identifiant de messagerie externe, etc.

Moi et
la source