Possible de désactiver "Vous avez de nouveaux messages dans / var / mail / root"?

14

Je voudrais désactiver le contrôle de courrier dans FreeBSD 9.1. Mon shell de connexion est BASH, j'ai donc essayé d'ajouter

unset MAILCHECK

dans /root/.bashrcet /root/.profile, mais je reçois toujours ces messages.

Question

Existe-t-il un moyen de se débarrasser de ces messages?

Sandra
la source
Normalement, vous ne feriez que transférer rootle courrier ailleurs (comme dans une boîte aux lettres que vous vérifiez en fait) - mais les réponses ci-dessous sont bonnes si vous voulez que le courrier continue root, mais ne voulez pas les bannières de courrier.
voretaq7

Réponses:

5

En plus de la réponse de Dennis, FreeBSD définit la MAILvariable d'environnement pour tous les utilisateurs de la defaultclasse de connexion. C'est dans /etc/login.conf.

Vous pouvez modifier cela de plusieurs manières:

  1. Modifier /etc/login.confet supprimer MAIL=/var/mail/$de la setenvligne. Vous devez ensuite compiler la base de données de connexion en exécutant cap_mkdb /etc/login.conf.

  2. Créez une nouvelle classe de connexion qui s'applique uniquement à vous ou à un groupe d'utilisateurs. Définissez cela pour chaque utilisateur à l'aide de pw usermod <username> -L <class>.

  3. Créez un utilisateur spécifique ~/.login.conf. Ce fichier doit avoir un enregistrement appelé me. Cela peut remplacer un sous-ensemble des paramètres globaux. De même, ce fichier doit être compilé avec cap_mkdb.

Voir login.conf(5)pour plus d'informations sur la base de données des capacités de connexion.

James O'Gorman
la source
6

Ces messages sont probablement des rapports périodiques. Il est assez fréquent de jeu daily_show_success=NOen /etc/periodic.confsorte qu'il ne génère pas de messages « de la bonne de tous ». Vous daily_output="$destination"devez également définir votre adresse e-mail ou un fichier journal que vous pouvez surveiller. La même chose peut être définie pour weekly_et monthly_- et devrait probablement l'être.

Vous pouvez supprimer ces e-mails en démarrant mail, d *en supprimant tous les messages et qen quittant.

La désactivation de la vérification du courrier est généralement une erreur. Si un démon est configuré de manière incorrecte pour livrer le courrier à la racine locale, vous voulez le savoir, il pourrait avoir quelque chose d'important à dire et vous manquerez ces messages si vous désactivez la vérification du courrier.

Chris S
la source
4

Cela devrait prendre soin de ce message pour les connexions root. Si vous vous connectez en tant qu'un autre utilisateur, vous devrez l'ajouter à ~/.bashrcchaque utilisateur pour lequel vous souhaitez le désactiver. Ou vous pouvez le mettre dans le fichier de démarrage central: /etc/profilepour qu'il prenne effet pour tous les utilisateurs.

Vous devrez vérifier si elle MAILCHECKest définie à un stade ultérieur de la séquence de fichiers de démarrage remplaçant votre unset.

Notez que les fichiers de démarrage sont traités comme suit (à partir du manuel Bash ) (accent sur le mien):

Appelé en tant que shell de connexion interactif, ou avec --login

Lorsque Bash est invoqué en tant que shell de connexion interactif, ou en tant que shell non interactif avec l'option --login, il lit et exécute d'abord les commandes du fichier / etc / profile, si ce fichier existe. Après avoir lu ce fichier, il recherche ~ / .bash_profile, ~ / .bash_login et ~ / .profile, dans cet ordre, et lit et exécute les commandes à partir du premier qui existe et est lisible . L'option --noprofile peut être utilisée lorsque le shell est démarré pour inhiber ce comportement.

Lorsqu'un shell de connexion se ferme, Bash lit et exécute les commandes du fichier ~ / .bash_logout, s'il existe. Appelé comme un shell interactif sans connexion

Lorsqu'un shell interactif qui n'est pas un shell de connexion est démarré, Bash lit et exécute des commandes à partir de ~ / .bashrc, si ce fichier existe. Cela peut être inhibé en utilisant l'option --norc. L'option --rcfile file obligera Bash à lire et exécuter des commandes à partir du fichier au lieu de ~ / .bashrc.

Donc, généralement, votre ~ / .bash_profile contient la ligne

if [-f ~ / .bashrc]; puis . ~ / .bashrc; Fi

après (ou avant) toute initialisation spécifique à la connexion.

En pause jusqu'à nouvel ordre.
la source