Pourquoi est-ce qu'une session CRON s'ouvre et se ferme toutes les heures dans /var/log/auth.log?

46

Je suis assez récent avec Linux dans son ensemble, alors c’est peut-être une question idiote - mais je voudrais tout de même connaître la réponse.

Ce matin, quand je regarde mon /var/log/auth.log (on me dit de prendre l'habitude), je remarque qu'une fois par heure, il a enregistré un événement qui ressemble à ceci:

     May 13 20:17:01 Ubuntu-Server-1401-VM CRON[2280]: pam_unix(cron:session): session opened for user root by (uid=0)
     May 13 20:17:01 Ubuntu-Server-1401-VM CRON[2280]: session closed for user root

Cela a ensuite commencé à se produire toutes les heures à x: 17: 01 jusqu'à ce que j'ai ouvert le journal. Une connexion SSH à ce serveur a été maintenue pendant cette période (où le journal s’est produit). Ma meilleure hypothèse est que chaque heure, mon client SSH cherche à savoir s'il peut ou non obtenir un accès root pour vérifier la connexion à la connexion SSH au serveur - mais je voudrais être du côté sûr. Est-ce que quelqu'un sait ce que c'est?

Terje Gundersen
la source

Réponses:

51

En supposant que vous n'avez rien changé depuis la cronconfiguration par défaut , ceci est votre /etc/crontabexécution. Sur mon serveur Ubuntu 10.04.3 LTS, son contenu comprend:

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly

Donc, cronse réveille toutes les heures et lance tous les scripts situés dans /etc/cron.hourly. Vous n'en avez probablement pas, c'est pourquoi il ne fait rien. Il exécute simplement une rootsession qui s'exécute run-partspuis la ferme à nouveau.

terdon
la source
1
je suis handicapé, il ne reste plus que du gaspillage ....
Tebe 18/12
16

Ces entrées de journal ont été écrites par les bibliothèques PAM lorsque le cronddémon a exécuté des tâches en arrière-plan. crondexécute des travaux selon un planning, pour le compte du système et des utilisateurs du système.

Chaque utilisateur a son propre crontabfichier de configuration, qui peut être édité avec la crontab -ecommande ou montré en utilisant crontab -l. L'administrateur système peut également configurer des tâches via une multitude de /etc/fichiers et de répertoires. /etc/cron.d/fournit un endroit facile pour les services à abandonner leurs propres configurations, et les /etc/crontablecteurs les hourly, dailyet les weeklyrépertoires, ainsi que des pistes tout l'administrateur peut choisir d'exécuter.

crondchangera les utilisateurs en utilisateur correct (spécifié dans le /etc/crontabfichier et le /etc/cron.d/répertoire ou à partir des crontabfichiers fournis par l'utilisateur ) avant d'exécuter les travaux; il utilise le système PAM pour changer les utilisateurs.

PAM fournit un emplacement unique pour configurer différentes manières d'authentifier et d'autoriser les utilisateurs et de fournir une configuration de session, ainsi qu'un moyen de changer les mots de passe (ou d'autres jetons d'authentification). Chaque service qui utilise PAM contient un fichier de configuration /etc/pam.d/qui décrit les modules PAM à utiliser lors de la "connexion" d'un utilisateur.

Mon /etc/pam.d/cronfichier ressemble à ceci:

# The PAM configuration file for the cron daemon

@include common-auth

# Read environment variables from pam_env's default files, /etc/environment
# and /etc/security/pam_env.conf.
session       required   pam_env.so

# In addition, read system locale information
session       required   pam_env.so envfile=/etc/default/locale

@include common-account
@include common-session-noninteractive 

# Sets up user limits, please define limits for cron tasks
# through /etc/security/limits.conf
session    required   pam_limits.so

Cela garantit que les limites configurées pour les utilisateurs sont appliquées aux tâches des utilisateurs lorsqu'ils les exécutent via cron. Si vous souhaitez modifier ces limites par service, vous pouvez configurer pam_limits.soce fichier avec votre propre fichier conf=/etc/security/cron-limits.confet appliquer des limites différentes de celles de ssh logins ( /etc/pam.d/sshd) ou de la console logins ( /etc/pam.d/login).

sarnold
la source