GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So hindern Sie Nicht-Root-Benutzer daran, einen Crontab-Eintrag in Linux zu erstellen

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 files

Verifizieren 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/crontab
Hinweis: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


Linux
  1. So fügen Sie einen Benutzer zu einer Gruppe in Linux hinzu oder entfernen ihn

  2. So blockieren oder deaktivieren Sie normale Benutzeranmeldungen in Linux

  3. Linux – Wie melde ich mich von Ssh aus bei Tty an?

  4. So entfernen Sie Benutzer aus der Gruppe in Linux [Kurztipp]

  5. Wie kann man unter Linux Binärdateien von Textdateien unterscheiden?

So verschieben Sie eine Datei unter Linux

So erstellen Sie eine Datei unter Linux

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So planen Sie Jobs mit Cron in Linux