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

So verhindern Sie, dass Nicht-Root-Benutzer einen Crontab-Eintrag erstellen

Dies ist häufig in Produktionsumgebungen erforderlich, um die Nicht-Root-Benutzer daran zu hindern, Crontab-Einträge zu erstellen. Es gibt drei Möglichkeiten, dies zu erreichen:

1. Deaktivieren Sie Nicht-Root-Benutzer ssh zum System, dann kann Nicht-Root-Benutzer Shell überhaupt nicht verwenden. Weitere Informationen finden Sie in diesem Beitrag.

2. Benutzer zur Datei /etc/cron.deny hinzufügen , jeder Benutzer pro Zeile (Typische Methode, die nur Listenbenutzer betrifft):

# cat /etc/cron.deny 
johny

Hinweis: Stellen Sie sicher, dass es keinen Konflikt zwischen den Dateien /etc/cron.allow und /etc/cron.deny gibt.
Verifizieren Sie den abgelehnten Benutzer, indem Sie einen Crontab-Eintrag erstellen:

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

3. Verwerfen Sie die Ausführungsberechtigung des crontab-Befehls (aggressiver Ansatz, der alle Nicht-Root-Benutzer betrifft):
Standardberechtigungen:

# ls -lrt /usr/bin/crontab 
-rwsr-xr-x 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Ändern Sie die Berechtigung (entfernen Sie das Setuid-Bit):

# chmod 700 /usr/bin/crontab
# ls -lrt /usr/bin/crontab
-rwx------ 1 root root 57552 Apr 21  2015 /usr/bin/crontab

Hinweis:Stellen Sie sicher, dass Sie eine Sicherungsdatei haben, bevor Sie die Dateiberechtigung ändern.
Nach dem Paket-Upgrade wird diese Änderung auf die Standardeinstellung zurückgesetzt.
Standardberechtigung:

# stat /usr/bin/crontab
  File: ‘/usr/bin/crontab’
  Size: 57552     	Blocks: 120        IO Block: 4096   regular file
Device: fd00h/64768d	Inode: 10751442    Links: 1
Access: (4755/-rwsr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2016-08-12 17:03:10.112443944 +0530
Modify: 2015-04-21 19:38:05.000000000 +0530
Change: 2016-03-14 14:03:30.347276747 +0530
 Birth: -

Verifizieren Sie den abgelehnten Benutzer, indem Sie einen Crontab-Eintrag erstellen:

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


Linux
  1. Linux – Zusammenführen von /usr/bin und /usr/sbin in /bin (gnu/linux)?

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

  3. Benutzer kann Crontab nicht bearbeiten, Fehler:„/tmp/crontab.Lm34gsJV:Berechtigung verweigert“

  4. So löschen Sie unnötige Einträge in /etc/shadow

  5. Installieren Sie Binärdateien in /bin, /sbin, /usr/bin und /usr/sbin, Interaktionen mit --prefix und DESTDIR

Wie chmod ohne /usr/bin/chmod?

Wie man nur bestimmten Nicht-Root-Benutzern erlaubt, crontab zu verwenden

Wie erstelle ich eine Crontab über ein Skript

Was ist der Unterschied zwischen #!/usr/bin/env bash und #!/usr/bin/bash?

cmake --version zeigt auf /usr/bin/cmake, während cmake auf /usr/local/bin zeigt

So ändern Sie das Standard-/tmp in /home/user/tmp