Quel est le message "Vous avez un nouveau message" dans Linux / UNIX?

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

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

Est-ce même le «courrier» réel dans le même sens que le courrier électronique? Ou est-ce que mon système me dit quelque chose?

EDIT: En ce qui concerne cette question, est-ce que je pourrais m'envoyer un courrier à l'aide du programme sendmail de la manière suivante: email@localhost ?

    Où est ce courrier?

    Il est probable que ce soit dans le fichier spool: /var/mail/$USER ou /var/spool/mail/$USER sont les emplacements les plus courants sur Linux et BSD.

    (D'autres sites sont possibles – vérifiez si $MAIL est défini – mais par défaut, le système vous informe uniquement de /var(/spool)/mail .)

    Habituellement, le fichier spool se trouve dans un format mbox très simple, de sorte que vous pouvez l'ouvrir dans un éditeur de texte ou un pager.

    Pour une manière légèrement plus pratique, la plupart des distributions sont livrées avec un programme appelé mail (ou Mail , mailx ). Vous pouvez essayer un mutt ou un alpine ; Vous pouvez même le configurer pour être envoyé à une boîte aux lettres externe. (Voir "est ce courrier réel?" Ci-dessous.)

    Qu'elle contient-elle, et qui / quoi l'a envoyé?

    Le plus souvent, les messages contiennent des sorties de tâches cron, ou un rapport de sécurité du système par logwatch , ou un produit indésirable similaire. Lisez-le et découvrez.

    Quelle importance est-il?

    Dépend fortement du contenu de chaque message.

    Vous devriez au moins analyser les en-têtes des sujets – souvent, les gens ignorent le courrier pendant des mois sans se rendre compte que leurs tâches quotidiennes de cron échouent.

    Est-ce même le «courrier» réel dans le même sens que le courrier électronique? Ou est-ce que mon système me dit quelque chose?

    Oui à tous les deux – c'est généré par votre système qui vous dit quelque chose, mais c'est aussi un courrier électronique réel et peut être traité comme tel.

    Vous pouvez (et devrait) configurer votre logiciel de messagerie – le "MTA" aka /usr/sbin/sendmail – pour transmettre les messages à votre adresse mail personnelle. Les instructions exactes varient selon le MTA (le cas échéant) que vous avez installé, qu'il s'agisse d'un ordinateur personnel ou d'un serveur, que vous possédez votre propre domaine ou que vous utilisiez un @ gmail.com et ainsi de suite.

    Notez que /usr/sbin/sendmail aujourd'hui est une API partagée et ne signifie pas nécessairement le MTA Sendmail original. 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écurisés et aussi puissants.

    Le moyen le plus simple pour moi était de suivre ce qui suit dans un terminal:

     cat /var/spool/mail/root 

    Juste pour apporter des éclaircissements, les boîtes UNIX ont longtemps été utilisées pour exécuter un démon de messagerie "localement configuré" qui ne roule pas les messages par Internet, mais ne copie que des messages vers d'autres répertoires de bobines d'utilisateurs (comme @John T mentionné). Il s'agit d'un véritable courrier électronique conforme à SMTP, il n'est pas routé sur Internet car il ne doit pas l'être.

    Donc, si vous lancez un client de messagerie (comme alpine ou mutt ), vous pouvez envoyer un courrier à d'autres utilisateurs sur le système en vous adressant à user@hostname ou, dans bien des cas, en précisant l'utilisateur. Vous avez également un utilitaire de ligne de commande appelé mailx qui peut être utilisé pour envoyer un courriel rapide à l'aide de votre shell.

    Maintenant, si vous souhaitez envoyer des messages aux utilisateurs sur des systèmes autres que celui auquel vous êtes connecté, c'est là que commence le vrai plaisir. Vous devrez configurer votre démon de courrier pour reconnaître et distribuer des courriels externes à un agent de transfert, configurer l'agent de transfert et faire tout un tas de choses que je ne me comprends pas encore.

    Pour ceux qui se demandent comment lire ces messages un par un, vous pouvez simplement utiliser 'mail'

     $ mail 

    Ensuite, tapez un numéro de message dans la liste que vous souhaitez lire.

    Pour accéder au prochain message, vous pouvez saisir «suivant», une autre commande utile est «supprimer».

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

    Où est ce courrier?

    Très probablement stocké sur votre machine, dans le dossier de boîte aux lettres de votre utilisateur root (où ILS dépend du type de serveur de messagerie que vous avez installé). Vous pouvez probablement y accéder rapidement grâce à l' alpage .

    Qu'est-ce qu'il contient?

    Probablement juste un type de rapport de système de type. "J'ai donc essayé de me connecter 10 fois avec un mot de passe incorrect" … "J'aimerais que quelqu'un exécute des mises à jour sur moi", "ce périphérique matériel semble mourir" … etc.

    Qui / Qu'est-ce qui l'a envoyé?

    Les services sur votre serveur, très probablement.

    Quelle importance est-il?

    Dépend de l'importance de votre serveur.

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

    L'importance du message dépend habituellement du facteur précédent, qui l'a envoyé 🙂

    De nombreux utilitaires système utilisent le sous-système de messagerie comme moyen de déclaration et de journalisation. Les utilitaires de journaliste et d'autres services peuvent envoyer un courrier électronique à l'utilisateur racine local comme un rappel sur un événement spécifique, tel qu'un faible espace disque ou des erreurs matérielles. Le daemon Mailer vous avertira également s'il n'a pas envoyé un e-mail vers l'extérieur.

    less +G /var/spool/mail/root

    Affiche les derniers mails, à la fin, si le fichier.

    Montrer directement le fichier de messagerie est une bonne idée, mais l'utilisation de cat peut facilement aller mal. Vous ne voulez pas que tous les courriers se déplacent, s'il y a beaucoup de messages ou des messages très longs dans le fichier. Je viens de voir un avec 150 Mo, 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; Ce n'est pas au sommet du fichier, mais à la fin.

    C'est une option de less , ce qui fait apparaître la dernière page du fichier après le démarrage. Cela montre le dernier message (le plus récent), s'il correspond à une page ou à la fin de cela sinon.

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