GNU/Linux >> Linux Esercitazione >  >> Linux

Come impedire a utenti non root di creare voci crontab

Spesso questo è un requisito negli ambienti di produzione per disabilitare gli utenti non root per creare qualsiasi voce crontab. Ci sono tre modi per raggiungere questo obiettivo:

1. Disabilitare l'utente non root ssh sul sistema, quindi l'utente non root non è affatto in grado di utilizzare la shell. Fare riferimento a questo post per la procedura.

2. Aggiungi l'utente al file /etc/cron.deny , ogni utente per riga (Metodo tipico che interessa solo gli utenti dell'elenco):

# cat /etc/cron.deny 
johny

Nota: Assicurati che non ci siano conflitti tra il file /etc/cron.allow e /etc/cron.deny.
Verifica utente negato con la creazione di una voce crontab:

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

3. Deprecate l'autorizzazione di esecuzione del comando crontab (approccio aggressivo che colpisce tutti gli utenti non root):
Autorizzazioni predefinite:

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

Cambia il permesso (rimuovi il bit setuid) :

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

Nota:assicurati di disporre del file di backup prima di modificarne l'autorizzazione.
Dopo l'aggiornamento del pacchetto, questa modifica verrà ripristinata ai valori predefiniti.
Autorizzazione predefinita:

# 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: -

Verifica utente negato con la creazione di una voce crontab:

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


Linux
  1. /usr/bin Vs /usr/local/bin Su Linux?

  2. Come creo un crontab attraverso uno script

  3. Installa i binari in /bin, /sbin, /usr/bin e /usr/sbin, interazioni con --prefix e DESTDIR

  4. Qual è la differenza tra #!/usr/bin/env bash e #!/usr/bin/bash?

  5. Come scoprire da quale cartella è in esecuzione un processo?

Utente non in grado di modificare crontab, errore:"/tmp/crontab.Lm34gsJV:autorizzazione negata"

Come eliminare voci non necessarie in /etc/shadow

cmake --version punta a /usr/bin/cmake mentre which cmake punta a /usr/local/bin

Qual è il significato di /usr/sbin, /usr/local/sbin e /usr/local/bin?

Come modificare /tmp predefinito in /home/user/tmp

Devo modificare /etc/crontab o eseguire crontab -e come root?