Die Anforderung hier ist, dass – kein Nicht-Root-Benutzer die Crontab-Einträge bearbeiten darf. Der Beitrag beschreibt die Schritte dazu. Es gibt drei Möglichkeiten, dies zu erreichen:
1. Deaktivieren Sie ssh für Nicht-Root-Benutzer zum System, was wiederum die Shell-Anmeldung selbst für einen Nicht-Root-Benutzer deaktiviert.
2. Fügen Sie den Benutzernamen in die Datei /etc/cron.deny ein , jeder Benutzer pro Zeile (typische Methode, die nur die in der Datei aufgeführten Benutzer betrifft).
# cat /etc/cron.deny oracle
Die andere einfache Problemumgehung besteht darin, die Datei /etc/cron.deny leer zu lassen und nur den Root-Benutzernamen in die Datei /etc/cron.allow einzufügen . Dies erlaubt nur Root-Benutzern, Cron-Einträge zu ändern/hinzuzufügen.
Hinweis :Stellen Sie sicher, dass es keinen Konflikt zwischen den Dateien /etc/cron.allow und /etc/cron.deny gibt. Weitere Informationen dazu, wie crontab den Benutzerzugriff auf cron.UNIX / Linux validiert, finden Sie im folgenden Beitrag:How crontab validates the access based on the cron.allow and cron.deny filesVerifizieren Sie den verweigerten Benutzer, indem Sie einen Crontab-Eintrag erstellen. Es sollte wie unten gezeigt eine Fehlermeldung geben.
# crontab -e You (oracle) are not allowed to use this program (crontab) See crontab(1) for more information
3. Ein weiterer aggressiver Ansatz besteht darin, die Ausführungserlaubnis des crontab-Befehls zu entfernen. Dies wirkt sich wiederum auf die Fähigkeit aller Nicht-Root-Benutzer aus, Cron-Einträge zu ändern/hinzuzufügen.
Standardberechtigungen der Datei /usr/bin/crontab:
# ls -lrt /usr/bin/crontab -rwsr-xr-x 1 root root 51784 Jul 22 2016 /usr/bin/crontab
Nach dem Entfernen der Ausführungsberechtigung :
# chmod 700 /usr/bin/crontab # ls -lrt /usr/bin/crontab -rwx----- 1 root root 51784 Jul 22 2016 /usr/bin/crontabHinweis:Stellen Sie sicher, dass Sie eine Sicherungskopie der Datei /usr/bin/crontab haben, bevor Sie ihre Dateiberechtigung ändern. Beachten Sie auch, dass diese Änderung nach einem Paket-Upgrade oder einer Neuinstallation auf die Standardeinstellung zurückgesetzt wird.
Bitte beachten Sie vor jeder Änderung die Standardberechtigungen der /usr/bin/crontab-Datei:
# 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
Verifizieren Sie den abgelehnten Benutzer, indem Sie einen Crontab-Eintrag erstellen:
# crontab -e bash: /usr/bin/crontab: Permission denied