GNU/Linux >> Tutoriels Linux >  >> Linux

erreur crontab :"Vous (utilisateur) n'êtes pas autorisé à accéder à (crontab) en raison de la configuration pam."

Problème

crontab -l la commande échoue avec l'erreur suivante.

# crontab -l
You (user) are not allowed to access to (crontab) because of pam configuration.

Vous verriez ci-dessous les journaux dans le fichier journal cron /var/log/cron :

Sep 19 11:01:01 geeklab crond[125479]: (user) PAM ERROR (Permission denied)
Sep 19 11:01:01 geeklab crond[125479]: (user) FAILED to authorize user with PAM (Permission denied)
Sep 19 11:01:26 geeklab crontab[125631]: (user) PAM ERROR (Permission denied)

Le fichier journal /var/log/secure aurait les erreurs ci-dessous :

Sep 19 11:01:26 geeklab crontab: pam_access(crond:account): access denied for user `root' from `cron'
Sep 19 11:01:26 geeklab crontab: pam_unix(crond:account): expired password for user root (password aged)

Solution

Il peut y avoir 2 raisons à cette erreur :
1. Mot de passe expiré pour l'utilisateur
2. l'utilisateur n'est pas autorisé à accéder à cron dans /etc/security/access.conf fichier.

Vérifier le mot de passe utilisateur expiré

1. Tout d'abord, vérifiez l'expiration du mot de passe de l'utilisateur à l'aide de chage commande.

# chage -l user
Last password change                                    : Jul 19, 2017
Password expires                                        : Sep 02, 2017        ### password has expired
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 45
Number of days of warning before password expires       : 7

D'après la sortie ci-dessus, nous pouvons dire que le mot de passe a expiré le 2 septembre 2017. La commande Crontab échouera si elle est exécutée en tant qu'utilisateur dont le mot de passe est expiré. PAM ne permettra pas d'exécuter cronjob en tant qu'utilisateur si le mot de passe de cet utilisateur a expiré.

2. Si le mot de passe a expiré, un nouveau mot de passe devra être défini pour l'utilisateur afin de lui permettre d'exécuter des tâches cron. Pour définir le mot de passe de l'utilisateur, exécutez la commande suivante en tant que root :

# passwd user

3. Vous pouvez également définir le mot de passe pour qu'il n'expire jamais pour cet utilisateur particulier s'il est autorisé dans votre environnement.

CentOS / RHEL :Comment configurer un compte utilisateur pour qu'il n'expire jamais

Autoriser l'utilisateur à accéder à la ressource cron dans le fichier /etc/security/access.conf

1. Un autre problème pourrait être que l'utilisateur n'est pas autorisé à utiliser les ressources cron dans /etc/security/access.conf dossier. Dans ce cas, vous pouvez autoriser l'accès utilisateur cron en ajoutant la ligne ci-dessous dans le fichier /etc/security/access.conf. Habituellement, cette ligne est hachée par défaut.

# vi /etc/security/access.conf
# User "root" should be allowed to get access via cron .. tty5 tty6.
+ : user : cron crond :0 tty1 tty2 tty3 tty4 tty5 tty6

2. Vérifiez également toute entrée où l'utilisateur se voit refuser l'accès à cron. Dans ce cas, vous devez supprimer l'entrée du fichier /etc/security/access.conf. Un exemple d'entrée pour refuser l'accès cron à l'utilisateur peut être comme indiqué ci-dessous :

# vi /etc/security/access.conf
# Deny all other users access by any means.
-: ALL : ALL

ou

# vi /etc/security/access.conf
# deny user "user" access to cron
- : user : cron crond :0

Vérifier

Si vous avez appliqué l'une des solutions expliquées ci-dessus, vous pouvez exécuter la commande crontab -l ou crontab -e en tant qu'utilisateur pour vérifier l'accès cron.


Linux
  1. Pourquoi les liens physiques vers les répertoires ne sont-ils pas autorisés sous Unix/linux ?

  2. Impossible de supprimer le fichier ou le dossier (accès refusé) car le ou les fichiers sont en cours d'utilisation ou verrouillés

  3. erreur apt :Impossible d'effectuer la configuration immédiate sur

  4. Erreur d'installation de CUDA 9.1 :n'a pas de fichier version.txt ! Assurez-vous que vous installez dans un répertoire de boîte à outils existant

  5. Quels utilisateurs sont autorisés à se connecter via SSH par défaut ?

Comment vérifier si vous êtes en session d'écran ou pas sous Linux

[Résolu] Impossible d'accéder au fichier de stockage, autorisation refusée Erreur dans KVM Libvirt

Pourquoi voyez-vous l'erreur :snap "xyz" introuvable ?

Comment réparer les connexions de travail ne sont pas assez d'erreur sur Nginx

Dépannage :Erreur MySQL/MariaDB #1044 Е Accès refusé pour l'utilisateur

Erreur d'utilisateur/mot de passe Samba Share après la mise à jour ?