GNU/Linux >> Tutoriels Linux >  >> Linux

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

L'exigence ici est que - aucun utilisateur non root ne doit être autorisé à modifier les entrées crontab. Le message décrit les étapes pour le faire. Il existe trois façons d'y parvenir :

1. Désactivez ssh de l'utilisateur non root sur le système, ce qui à son tour désactive la connexion shell elle-même pour un utilisateur non root.

2. Ajoutez le nom d'utilisateur dans le fichier /etc/cron.deny , chaque utilisateur par ligne (méthode typique qui n'affecte que les utilisateurs répertoriés dans le fichier).

# cat /etc/cron.deny 
oracle

L'autre solution simple consiste à vider le fichier /etc/cron.deny et à n'ajouter que le nom d'utilisateur root dans le fichier /etc/cron.allow . Cela permet uniquement à l'utilisateur root de modifier/ajouter des entrées cron.

Remarque :Assurez-vous qu'il n'y a pas de conflit entre le fichier /etc/cron.allow et /etc/cron.deny. Reportez-vous au post ci-dessous pour plus d'informations sur la façon dont crontab valide l'accès utilisateur à cron.UNIX / Linux :Comment crontab valide l'accès en fonction des fichiers cron.allow et cron.deny

Vérifiez l'utilisateur refusé en créant une entrée crontab. Cela devrait vous donner une erreur comme indiqué ci-dessous.

# crontab -e
You (oracle) are not allowed to use this program (crontab)
See crontab(1) for more information

3. Une autre approche agressive consiste à supprimer l'autorisation d'exécution de la commande crontab. Cela affecte à son tour la capacité de tous les utilisateurs non root à modifier/ajouter des entrées cron.
Autorisations par défaut du fichier /usr/bin/crontab :

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 51784 Jul 22  2016 /usr/bin/crontab

Après avoir supprimé l'autorisation d'exécution :

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab 
-rwx----- 1 root root 51784 Jul 22  2016 /usr/bin/crontab
Remarque :Assurez-vous d'avoir une sauvegarde du fichier /usr/bin/crontab avant de modifier son autorisation de fichier. Notez également qu'après une mise à niveau ou une réinstallation du package, cette modification sera annulée par défaut.

veuillez noter les permissions par défaut du fichier /usr/bin/crontab avant tout changement :

# stat /usr/bin/crontab
  File: `/usr/bin/crontab'
  Size: 51784     	Blocks: 104        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 1318020     Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-09-13 09:39:27.192418684 +0530
Modify: 2016-07-22 12:50:39.000000000 +0530
Change: 2017-09-08 18:11:33.668586770 +0530

Vérifiez l'utilisateur refusé en créant une entrée crontab :

# crontab -e
bash: /usr/bin/crontab: Permission denied


Linux
  1. Comment ajouter ou supprimer un utilisateur d'un groupe sous Linux

  2. Comment bloquer ou désactiver les connexions utilisateur normales sous Linux

  3. Comment distinguer le binaire des fichiers texte sous Linux

  4. Comment copier un fichier/dossier depuis le répertoire personnel d'un autre utilisateur sous Linux ?

  5. Comment télécharger un fichier à partir d'une URL sous Linux

Comment déplacer un fichier sous Linux

Comment créer un fichier sous Linux

Comment créer des répertoires à partir d'un fichier texte sous Linux

Comment supprimer le mot de passe d'un fichier PDF sous Linux

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment planifier des tâches avec Cron sous Linux