GNU/Linux >> Tutoriels Linux >  >> Linux

L'utilisateur ne peut pas modifier crontab, erreur :"/tmp/crontab.Lm34gsJV :autorisation refusée"

Le problème

Un utilisateur non privilégié ne peut pas modifier son fichier crontab à l'aide de la commande "crontab -e"

$ crontab -e
no crontab for oracle - using an empty one
/tmp/crontab.Lm34gsJV: Permission denied
$

La solution

Cela peut se produire principalement en raison d'une mauvaise autorisation sur le répertoire /tmp. Lorsqu'un utilisateur essaie de modifier la crontab à l'aide de la commande "crontab -e", un fichier crontab temporaire est créé dans le répertoire /tmp, qui est écrasé sur le fichier crontab réel lorsque l'utilisateur enregistre les modifications. Des autorisations incorrectes de propriétaire de groupe (racine) sur / peuvent également provoquer cette erreur. Afin de résoudre le problème, vérifiez ci-dessous 2 éléments sur le serveur.

Vérifier l'autorisation de /tmp

1. assurez-vous que les autorisations du répertoire /tmp sont "drwxrwxrwt.

# ls -ld /tmp/
drwxr-xr-x. 13 root root 4096 May 14 10:48 /tmp/

Comme vous pouvez le voir dans la sortie ci-dessus, il s'agit d'une autorisation incorrecte.

2. Restaurez les bonnes autorisations comme ceci :

# chmod 1777 /tmp

Le répertoire doit autoriser les autorisations universelles de lecture, d'écriture et d'exécution. Le bit "collant" est également défini de sorte que seul le propriétaire d'un fichier puisse le supprimer ; sinon n'importe quel utilisateur pourrait supprimer n'importe quel fichier arbitraire dans le répertoire.

3. Essayez de créer un nouveau fichier dans /tmp/ pour vérifier :

# touch /tmp/test_file

Vérifier les autorisations SELinux

1. Vous pouvez également vérifier si SELinux est activé sur le système. SELinux dans certains cas, s'il est mal défini, peut créer un problème. Pour vérifier si SELinux est activé :

# getenforce
Enforcing

2. Désactivons temporairement SELinux pour vérifier si le problème est résolu.

# setenforce 0

3. Vérifiez les paramètres en modifiant la crontab utilisateur.

# crontab -e

4. Si cela fonctionne correctement, vous pouvez réactiver SELinux et utiliser "restorecon ” pour restaurer l'autorisation correcte du répertoire /tmp.

# setenforce 1
# restorecon -v /tmp


Linux
  1. Comment systemd-tmpfiles nettoie /tmp/ ou /var/tmp (remplacement de tmpwatch) dans CentOS / RHEL 7

  2. Comment empêcher un utilisateur non root de créer une entrée crontab

  3. Comment créer une crontab via un script

  4. autorisation docker.sock refusée

  5. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

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

UNIX / Linux :Quelle est la bonne permission des répertoires /tmp et /var/tmp

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

Erreur "530 :autorisation refusée" lorsque l'utilisateur se connecte au serveur vsftpd via ftp

autorisation refusée pour composer dans /usr/local/bin/

autorisation d'écriture refusée via filezilla sftp vers /var/www/html