Je suis assez récent avec Linux dans son ensemble, alors c'est peut-être une question idiote - mais j'aimerais quand même connaître la réponse.
Ce matin, lorsque je regarde mon /var/log/auth.log (on m'a 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 en vie pendant cette période (où le journal s’est déroulé). Ma meilleure hypothèse est que mon client SSH vérifie toutes les heures s'il peut ou non obtenir un accès root afin de vérifier la connexion entre SSH et le serveur - mais j'aimerais être du côté sûr. Est-ce que quelqu'un sait ce que c'est?
En supposant que vous n'avez rien modifié depuis la configuration par défaut de cron
name__, il s'agit de votre /etc/crontab
en cours d'exé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
Ainsi, cron
se réveille toutes les heures et exécute 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 session root
qui exécute run-parts
, puis ferme à nouveau la session.
Ces entrées de journal ont été écrites par les bibliothèques PAM lorsque le démon crond
a exécuté des tâches en arrière-plan. crond
exécute les travaux selon un planning, pour le compte du système et des utilisateurs du système.
Chaque utilisateur a son propre fichier de configuration crontab
, qui peut être modifié à l'aide de la commande crontab -e
ou affiché à l'aide de crontab -l
. L'administrateur système peut également configurer des tâches via une multitude de fichiers et de répertoires /etc/
; /etc/cron.d/
permet aux services de supprimer leurs propres configurations et /etc/crontab
pilote les répertoires hourly
, daily
et weekly
, ainsi que tout ce que l'administrateur peut choisir d'exécuter.
crond
changera les utilisateurs en utilisateur correct (spécifié dans le fichier /etc/crontab
et le répertoire /etc/cron.d/
ou à partir des fichiers crontab
fournis par l'utilisateur) avant d'exécuter les travaux; il utilise le système PAM pour changer d'utilisateur.
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 modifier les mots de passe (ou d'autres jetons d'authentification). Chaque service qui utilise PAM a un fichier de configuration dans /etc/pam.d/
qui décrit les modules PAM à utiliser lors de la "connexion" d'un utilisateur.
Mon fichier /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 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.so
dans ce fichier avec votre propre conf=/etc/security/cron-limits.conf
et appliquer des limites différentes de celles de la connexion ssh (/etc/pam.d/sshd
) ou de la console (/etc/pam.d/login
).