linux debian squeeze : bug sur la configuration PAM pour CRON
Par guillaume le jeudi 25 mars 2010, 00:37 - linux - Lien permanent
La programmation de tâches par CRON peut se faire de différentes façon, et notamment par l'intermédiaire de fichiers de configuration situés dans /etc/cron.d
En voulant programmer des tâches de sauvegarde rsnapshot avec cron, je constate l'erreur suivante dans mon /var/log/syslog
Mar 24 23:04:01 myhost CRON[8435]: Erreur critique - abandon immédiat
Mar 24 23:04:01 myhost CRON[8435]: PAM pam_end: NULL pam handle passed
ou pour la version originale
Mar 24 23:04:01 myhost CRON[8435]: Critical error - immediate abort
Mar 24 23:04:01 myhost CRON[8435]: PAM pam_end: NULL pam handle passed
Que se passe-t-il ?
Le problème vient de la configuration de la librairie PAM qui sert d'interface entre les applications et le système pour la gestion des authentifications / autorisations.
Mais celui ne correspond pas à ce que j'ai dans ma debian squeeze. Voici le contenu du fichier /etc/pam.d/cron :
#
# The PAM configuration file for the cron daemon
#
@include common-auth
session required
pam_env.so
@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
En analysant chaque ligne d'@include qui correspond à l‘inclusion d'un fichier dans /etc/pam.d on constate que le fichier /etc/pam.d/common-session-noninteractive n'existe pas! Seul le fichier common-session est présent. J'ai donc remplacé comme suit et tout fonctionne :
@include common-sessionJe ne sais pas si c'est la bonne solution, mais ça a le mérite de refaire fonctionner cron!
Le rapport de bug est ici :
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=575342