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.denyVé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/crontabRemarque :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