Exim4 et paniclog

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Exim4 et paniclog

G2PC

Exim4 et paniclog

# L'erreur suivante serait présente à chaque fois que exim4 démarre et que le fichier paniclog ne serait pas vide sur un système Debian / Ubuntu.
exim paniclog /var/log/exim4/paniclog has non-zero size error
# L'origine de ce message d'erreur est généré lorsque je me connecte deux fois au serveur SSH, depuis deux consoles différentes.
# Le premier mail suite à une connexion réussie m'est bien envoyé, avec ce script : Alerte mail lors du login root ou d'un utilisateur.


# ALERTE MAIL SUITE A UNE CONNEXION SSH :
sudo nano /home/utilisateur/.bashrc
echo "Connexion au terminal du serveur le `date` `who`" | mail -s "Accès au Shell du Serveur `hostname` par `who` depuis `who | cut -d"(" -f2 | cut -d")" -f1`" [hidden email]


# Lors d'une seconde connexion avec un nouveau terminal et le même utilisateur, j'obtiens un mail en erreur renvoyée au compte administrateur :
Mail failure - no recipient addresses
A message that you sent contained no recipient addresses, and therefore no delivery could be attempted.
# En consultant le fichier paniclog on observe l'ajout des lignes suivantes :
nano /var/log/exim4/paniclog
1jJnQp-0006r4-KL 1jJnQp-0006r4-KL no recipients found in headers
1jJnRH-0006rh-6j 1jJnRH-0006rh-6j no recipients found in headers
# La solution proposée est de supprimer ce fichier pour qu'il soit recréé :
sudo rm /var/log/exim4/paniclog
# Ou encore de vider le fichier :
sudo bash
echo "" > /var/log/exim4/paniclog
# Redémarrer Exim4 :
/etc/init.d/exim4 restart


>>
# Pour réellement résoudre le problème de ce message exim paniclog /var/log/exim4/paniclog has non-zero size error il faudrait comprendre pourquoi suite à une double connexion SSH, le second mail n'est pas envoyé.

# Lors d'une seconde connexion avec un nouveau terminal et le même utilisateur, j'obtiens un mail en erreur renvoyée au compte administrateur.

C'est cela qui génère le paniclog.
Une idée ?
Reply | Threaded
Open this post in threaded view
|

Re: Exim4 et paniclog

Ludovic Bellier
Bonjour G2PC,

     plusieurs axes de recherche:

1) Il faut débuger ton script shell

echo "Connexion au terminal du serveur le `date` `who`" | mail -s "Accès au Shell du Serveur `hostname` par `who` depuis `who | cut -d"(" -f2 | cut -d")" -f1`"[hidden email]

Visiblement ce script ne fonctionne pas toujours, plutôt qu'envoyer un
mail tu peux rediriger vers un fichier, puis regarder son contenu. Tu
peux aussi vérifier les variables d'environnement définies à ce moment
(env >> <ton fichier destination>). Ton script shell alterne beaucoup de
double quotes et de simple quote, c'est facile de se tromper... Tu peux
avantageusement remplacer un `date` par $(date), ce sera moins source
d'erreur.

2) La commande who te renvoit la **liste** de toutes les personnes
connectées, à ta première connexion, elle pourrait renvoyer une seule
ligne, et à la seconde renvoyer deux lignes. Avec who renvoyant
plusieurs lignes, ton script n'est pas robuste...

3) Tu peux vérifier que ta configuration mail fonctionne correctement en
faisant des tests d'envoi avec la commande mail et en surveillant les
logs exim

4) Ton but semble être d'envoyer un mail pour toute connexion SSH, dans
ce cas une bonne solution est d'utiliser /etc/ssh/sshrc, cf [1] et man
sshd. C'est ce que j'utilise pour monitorer les connexions SSH externes.

[1]
http://blog.uggy.org/?post/2009/06/05/Execution-de-commande-lors-d-une-connexion-SSH

Ludovic

Le 03/04/2020 à 17:18, G2PC a écrit :

>
>
>       Exim4 et paniclog
>
> # L'erreur suivante serait présente à chaque fois que exim4 démarre et que le fichier paniclog ne serait pas vide sur un système Debian / Ubuntu.
> exim paniclog /var/log/exim4/paniclog has non-zero size error
> # L'origine de ce message d'erreur est généré lorsque je me connecte deux fois au serveur SSH, depuis deux consoles différentes.
> #*Le premier mail suite à une connexion réussie m'est bien envoyé*, avec ce script :Alerte mail lors du login root ou d'un utilisateur  <https://wiki.visionduweb.fr/index.php?title=Le_fichier_.bashrc#Alerte_mail_lors_du_login_root_ou_d.27un_utilisateur>.
>
>
> # ALERTE MAIL SUITE A UNE CONNEXION SSH :
> *sudo nano /home/utilisateur/.bashrc echo "Connexion au terminal du
> serveur le `date` `who`" | mail -s "Accès au Shell du Serveur
> `hostname` par `who` depuis `who | cut -d"(" -f2 | cut -d")" -f1`"
> [hidden email]*
>
>
> #*Lors d'une seconde connexion*  avec*un nouveau terminal*  et*le même utilisateur*, j'obtiens un mail en*erreur renvoyée au compte administrateur*  :
> Mail failure - no recipient addresses
> A message that you sent contained no recipient addresses, and therefore no delivery could be attempted.
> # En consultant le fichier paniclog on observe l'ajout des lignes suivantes :
> nano /var/log/exim4/paniclog
> 1jJnQp-0006r4-KL 1jJnQp-0006r4-KL no recipients found in headers
> 1jJnRH-0006rh-6j 1jJnRH-0006rh-6j no recipients found in headers
> # La solution proposée est de supprimer ce fichier pour qu'il soit recréé :
> sudo rm /var/log/exim4/paniclog
> # Ou encore de vider le fichier :
> sudo bash
> echo "" > /var/log/exim4/paniclog
> # Redémarrer Exim4 :
> /etc/init.d/exim4 restart
>
>
> >>
> *# Pour réellement résoudre le problème de ce message exim paniclog
> /var/log/exim4/paniclog has non-zero size error il faudrait comprendre
> pourquoi suite à une double connexion SSH, le second mail n'est pas
> envoyé.*
>
> #*Lors d'une seconde connexion*  avec*un nouveau terminal*  et*le même utilisateur*, j'obtiens un mail en*erreur renvoyée au compte administrateur*.
>
> C'est cela qui génère le paniclog.
> Une idée ?

Reply | Threaded
Open this post in threaded view
|

Re: Exim4 et paniclog

G2PC
Bonjour Ludovic,

Je pense que tu as identifié le problème.

Je suppose que c'est le who comme tu l'indiques, qui est peut être
responsable.

Mon script fonctionne si je me connecte la première fois.
Si mon terminal reste ouvert, et, que j'ouvre un second terminal, il ne
fonctionne plus.

Si j'ai 2 terminal ouvert, avec le même utilisateur SSH, se peut t'il
que la valeur de who ne corresponde plus, et, fasse boguer mon script ?
Je vais immédiatement vérifier.

Première connexion
who
debian   pts/0        2020-04-10 19:48 (IP)

Deuxième connexion
mail: impossible d'expédier le message : Processus terminé avec un état
de sortie non nul
who
debian   pts/0        2020-04-10 19:48 (IP)
debian   pts/1        2020-04-10 19:49 (IP)



Le 08/04/2020 à 02:31, Ludovic a écrit :

> Bonjour G2PC,
>
>     plusieurs axes de recherche:
>
> 1) Il faut débuger ton script shell
>
> echo "Connexion au terminal du serveur le `date` `who`" | mail -s
> "Accès au Shell du Serveur `hostname` par `who` depuis `who | cut
> -d"(" -f2 | cut -d")" -f1`"[hidden email]
>
> Visiblement ce script ne fonctionne pas toujours, plutôt qu'envoyer un
> mail tu peux rediriger vers un fichier, puis regarder son contenu. Tu
> peux aussi vérifier les variables d'environnement définies à ce moment
> (env >> <ton fichier destination>). Ton script shell alterne beaucoup
> de double quotes et de simple quote, c'est facile de se tromper... Tu
> peux avantageusement remplacer un `date` par $(date), ce sera moins
> source d'erreur.
>
> 2) La commande who te renvoit la **liste** de toutes les personnes
> connectées, à ta première connexion, elle pourrait renvoyer une seule
> ligne, et à la seconde renvoyer deux lignes. Avec who renvoyant
> plusieurs lignes, ton script n'est pas robuste...
>
> 3) Tu peux vérifier que ta configuration mail fonctionne correctement
> en faisant des tests d'envoi avec la commande mail et en surveillant
> les logs exim
>
> 4) Ton but semble être d'envoyer un mail pour toute connexion SSH,
> dans ce cas une bonne solution est d'utiliser /etc/ssh/sshrc, cf [1]
> et man sshd. C'est ce que j'utilise pour monitorer les connexions SSH
> externes.
>
> [1]
> http://blog.uggy.org/?post/2009/06/05/Execution-de-commande-lors-d-une-connexion-SSH
>
> Ludovic
>
> Le 03/04/2020 à 17:18, G2PC a écrit :
>>
>>
>>       Exim4 et paniclog
>>
>> # L'erreur suivante serait présente à chaque fois que exim4 démarre
>> et que le fichier paniclog ne serait pas vide sur un système Debian /
>> Ubuntu.
>> exim paniclog /var/log/exim4/paniclog has non-zero size error
>> # L'origine de ce message d'erreur est généré lorsque je me connecte
>> deux fois au serveur SSH, depuis deux consoles différentes.
>> #*Le premier mail suite à une connexion réussie m'est bien envoyé*,
>> avec ce script :Alerte mail lors du login root ou d'un utilisateur 
>> <https://wiki.visionduweb.fr/index.php?title=Le_fichier_.bashrc#Alerte_mail_lors_du_login_root_ou_d.27un_utilisateur>.
>>
>>
>> # ALERTE MAIL SUITE A UNE CONNEXION SSH :
>> *sudo nano /home/utilisateur/.bashrc echo "Connexion au terminal du
>> serveur le `date` `who`" | mail -s "Accès au Shell du Serveur
>> `hostname` par `who` depuis `who | cut -d"(" -f2 | cut -d")" -f1`"
>> [hidden email]*
>>
>>
>> #*Lors d'une seconde connexion*  avec*un nouveau terminal*  et*le
>> même utilisateur*, j'obtiens un mail en*erreur renvoyée au compte
>> administrateur*  :
>> Mail failure - no recipient addresses
>> A message that you sent contained no recipient addresses, and
>> therefore no delivery could be attempted.
>> # En consultant le fichier paniclog on observe l'ajout des lignes
>> suivantes :
>> nano /var/log/exim4/paniclog
>> 1jJnQp-0006r4-KL 1jJnQp-0006r4-KL no recipients found in headers
>> 1jJnRH-0006rh-6j 1jJnRH-0006rh-6j no recipients found in headers
>> # La solution proposée est de supprimer ce fichier pour qu'il soit
>> recréé :
>> sudo rm /var/log/exim4/paniclog
>> # Ou encore de vider le fichier :
>> sudo bash
>> echo "" > /var/log/exim4/paniclog
>> # Redémarrer Exim4 :
>> /etc/init.d/exim4 restart
>>
>>
>> >>
>> *# Pour réellement résoudre le problème de ce message exim paniclog
>> /var/log/exim4/paniclog has non-zero size error il faudrait
>> comprendre pourquoi suite à une double connexion SSH, le second mail
>> n'est pas envoyé.*
>>
>> #*Lors d'une seconde connexion*  avec*un nouveau terminal*  et*le
>> même utilisateur*, j'obtiens un mail en*erreur renvoyée au compte
>> administrateur*.
>>
>> C'est cela qui génère le paniclog.
>> Une idée ?
>