2011-07-04 15:23:42 +0000 2011-07-04 15:23:42 +0000
446
446

Qu'est-ce que le message "Vous avez un nouveau courrier" sous Linux/UNIX ?

Parfois, lorsque je me connecte à une boîte et que je mets “su” à la racine, je reçois un joli petit message disant que j'ai un courrier (Dieu merci, ce n'est pas AOL).

  • Où se trouve ce courrier ?
  • Que contient-il ?
  • Qui/Qu'est-ce qui l'a envoyé ?
  • Quelle est son importance ?

Est-ce même un véritable “courrier” au même sens que le courrier électronique ? Ou est-ce juste mon système qui me dit quelque chose ?

EDIT: En ce qui concerne [ cette ]&3 question, serais-je capable de m'envoyer du courrier en utilisant le programme sendmail comme ça : email@localhost ?

Réponses (7)

367
367
367
2011-07-04 16:30:34 +0000

Où se trouve ce courrier ?

Il est probable qu'il se trouve dans le fichier d'attente : /var/mail/$USER ou /var/spool/mail/$USER sont les emplacements les plus courants sur Linux et BSD.

(D'autres emplacements sont possibles - vérifiez si $MAIL est activé - mais par défaut, le système vous informe uniquement sur /var(/spool)/mail. )

Habituellement, le fichier d'enregistrement est au format mbox très simple, vous pouvez donc l'ouvrir dans un éditeur de texte ou un pager.

Pour un peu plus de commodité, la plupart des distributions sont livrées avec un programme appelé mail (ou Mail, mailx). Vous pouvez essayer mutt ou alpine ; vous pouvez même le configurer pour qu'il soit envoyé à une boîte aux lettres extérieure. (Voir “est-ce un vrai courrier ?” ci-dessous.)

Que contient-il, et qui/quoi l'a envoyé ?

Le plus souvent, les messages contiennent des sorties de cron jobs, ou un rapport de sécurité du système par logwatch, ou d'autres déchets similaires. Lisez-le et vous verrez.

Quelle est son importance ?

Cela dépend beaucoup du contenu de chaque message.

Vous devriez au moins scanner les en-têtes du sujet - souvent les gens ignorent le courrier pendant des mois sans jamais réaliser que leurs tâches cron quotidiennes échouent.

Est-ce même du “courrier” réel dans le même sens que le courrier électronique ? Ou est-ce juste mon système qui me dit quelque chose ?

Oui aux deux - il est généré par votre système qui vous dit quelque chose, mais c'est aussi un vrai courrier électronique et peut être traité comme tel.

Vous pouvez (et devriez) configurer votre logiciel de courrier - le “MTA” alias /usr/sbin/sendmail - pour transférer les messages à votre adresse électronique personnelle. Les instructions exactes varient en fonction du MTA (s'il existe) que vous avez installé, s'il s'agit d'un ordinateur personnel ou d'un serveur, si vous avez votre propre domaine ou si vous utilisez un @gmail.com, etc.

Notez que /usr/sbin/sendmail est aujourd'hui une API partagée et _ne signifie pas nécessairement le MTA original de Sendmail. En fait, vous ne devriez pas utiliser Sendmail, mais quelque chose de plus moderne comme OpenSMTPD, Postfix ou Exim4. Tous fournissent le même outil /usr/sbin/sendmail, mais ils sont plus faciles à configurer, plus sûrs et tout aussi puissants.

219
219
219
2011-11-25 11:46:45 +0000

Le moyen le plus simple pour moi était d'exécuter ce qui suit dans un terminal :

cat /var/spool/mail/root
64
64
64
2014-08-30 19:47:07 +0000

Pour ceux qui se demandent comment lire ces messages un par un, il suffit d'utiliser “mail”

$ mail

Puis de taper un numéro de message de la liste que vous voulez lire.

Pour obtenir le message suivant, vous pouvez taper “next”, une autre commande utile est “delete”…

Pour en savoir plus sur le fonctionnement du programme mail, voir la sortie de man mail.

41
41
41
2011-07-04 16:31:21 +0000

Juste pour clarifier les choses, il est de tradition depuis longtemps que les boîtes UNIX exécutent un démon de messagerie “configuré localement” qui n'achemine pas les messages par Internet, mais qui copie seulement les messages dans les répertoires de file d'attente des autres utilisateurs (comme @John T l'a mentionné). Il s'agit d'un véritable courrier électronique conforme au protocole SMTP, qui n'est tout simplement pas acheminé sur Internet parce qu'il n'a pas besoin de l'être.

Ainsi, si vous démarrez un client de messagerie (comme alpine ou mutt), vous pouvez envoyer du courrier à d'autres utilisateurs du système en vous adressant à user@hostname, ou dans de nombreux cas, en spécifiant simplement l'utilisateur. Vous avez probablement aussi un utilitaire en ligne de commande appelé mailx qui peut être utilisé pour envoyer un courrier électronique rapide en utilisant votre shell.

Maintenant, si vous voulez envoyer des messages à des utilisateurs sur des systèmes autres que celui auquel vous êtes connecté, c'est là que le vrai plaisir commence. Vous devrez configurer votre démon de messagerie pour qu'il reconnaisse et transfère le courrier électronique externe à un agent de transfert, configurer l'agent de transfert, et faire tout un tas de choses que je ne comprends pas encore moi-même.

26
26
26
2011-07-04 15:29:18 +0000

Où se trouve ce courrier ?

Très probablement stocké sur votre machine, dans le dossier de la boîte aux lettres de votre utilisateur root (où CELA dépend du type de serveur de messagerie que vous avez installé). Vous pouvez probablement y accéder assez rapidement via alpine.

Qu'est-ce qu'il contient?

Probablement juste des trucs de type rapport système. “So and so tried to login 10 times with an incorrect password”… “I wish someone would run updates on me”, “driver such-and-such is failing constantly”, “The NSA bot has boosted performance by 1%”… etc…

Who/What sent it?

Services sur votre serveur, très probablement.

How important is it?

Dépend de l'importance de votre serveur.

14
14
14
2011-07-04 15:28:29 +0000

Ce courrier se trouve généralement dans /var/spool/mail/root lorsque le démon sendmail par défaut (habituel) est configuré. Il contient un message électronique RAW qui peut être lu par l'utilitaire mail. On peut trouver qui l'a envoyé en exécutant l'utilitaire mail et en paginant dans les messages ou en lisant les en-têtes RAW.

L'importance du message dépend généralement du facteur précédent, de la personne qui l'a envoyé :)

De nombreux utilitaires système utiliseront le sous-système de courrier électronique comme moyen de signalement et de journalisation. Les utilitaires de surveillance des journaux et d'autres services peuvent envoyer un courrier électronique à l'utilisateur root local pour lui rappeler un événement spécifique, tel qu'un manque d'espace disque ou des erreurs matérielles. Le démon de messagerie vous avertira également s'il n'a pas réussi à envoyer un courrier électronique sortant.

12
12
12
2014-09-03 00:16:39 +0000

less +G /var/spool/mail/root

montre les derniers courriers, à la fin si le fichier.

Montrer directement le fichier de courrier est une bonne idée, mais utiliser cat peut facilement se tromper. Vous ne voulez pas que tous les mails défilent, s'il y a beaucoup de messages, ou des messages très longs dans le fichier. Je viens d'en voir un avec 150MB, deux millions de lignes.

Si vous n'êtes pas root :

sudo less +G /var/spool/mail/root

L'option +G est utilisée pour afficher le message le plus récent en premier ; il n'est pas en haut du fichier, mais à la fin.

C'est une option de less, qui fait qu'il affiche la dernière page du fichier après le début. Cela permet d'afficher le dernier message (le plus récent), s'il tient sur une page, ou la fin de celle-ci sinon.

Le nom du fichier peut être /var/spool/mail/mail au lieu de /var/spool/mail/root