58 votes

Pourquoi est-ce que je vois une session CRON s'ouvrir et se fermer toutes les heures dans /var/log/auth.log ?

Je suis assez novice en ce qui concerne Linux dans son ensemble, c'est peut-être une question stupide, mais j'aimerais quand même connaître la réponse

Ce matin, lorsque je regarde mon /var/log/auth.log (ce que l'on m'a dit de faire comme une 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 s'est ensuite produit toutes les heures à x:17:01 jusqu'à ce que j'ouvre le journal. Une connexion SSH à ce serveur a été maintenue en vie pendant ce temps (où les entrées du journal se sont produites). Mon hypothèse la plus probable est que, toutes les heures, mon client SSH a cherché à savoir s'il pouvait obtenir un accès root afin de vérifier la connexion à la connexion SSH au serveur - mais j'aimerais être sûr. Quelqu'un sait-il ce que c'est ?

68voto

Stewart Points 1385

En supposant que vous n'avez rien changé par rapport aux valeurs par défaut. cron c'est votre /etc/crontab en cours d'exécution. Sur mon serveur Ubuntu 10.04.3 LTS, son contenu est le suivant :

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

Donc, cron se réveille toutes les heures et exécute tous les scrips situés dans /etc/cron.hourly . Vous n'en avez probablement pas, c'est pourquoi il ne fait rien. Il exécute simplement un root qui exécute run-parts puis ferme à nouveau la session.

20voto

sarnold Points 1641

Ces entrées de journal ont été écrites par les bibliothèques PAM lorsque le programme crond Le démon exécute des tâches en arrière-plan. crond exécute des tâches selon un calendrier, pour le compte du système et des utilisateurs du système.

Chaque utilisateur a son propre crontab qui peut être modifié avec la commande crontab -e ou affichée à l'aide de la commande crontab -l . L'administrateur du système peut également configurer les travaux par le biais d'une pléthore d'outils d'aide à la décision. /etc/ fichiers et répertoires ; /etc/cron.d/ fournit un endroit facile pour que les services puissent déposer leurs propres configurations, et /etc/crontab conduit le hourly , daily y weekly ainsi que l'exécution de tout ce que l'administrateur peut choisir d'exécuter.

crond changera les utilisateurs pour le bon utilisateur (soit spécifié dans le fichier /etc/crontab et le fichier /etc/cron.d/ ou à partir du répertoire crontab ) avant d'exécuter les travaux ; il utilise le fichier Système PAM pour changer d'utilisateur.

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

Mon /etc/pam.d/cron 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 qui sont configurées pour les utilisateurs sont appliquées aux tâches des utilisateurs lorsqu'ils les exécutent via cron . Si vous vouliez changer ces limites par service, vous pourriez configurer pam_limits.so dans ce fichier avec votre propre conf=/etc/security/cron-limits.conf et appliquer des limites différentes de celles des connexions ssh ( /etc/pam.d/sshd ) ou les connexions à la console ( /etc/pam.d/login ).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X