Il requisito qui è che:nessun utente non root dovrebbe essere autorizzato a modificare le voci crontab. Il post descrive i passaggi per farlo. Ci sono tre modi per raggiungere questo obiettivo:
1. Disabilita l'utente non root ssh sul sistema, che a sua volta disabilita lo stesso login della shell per un utente non root.
2. Aggiungi il nome utente nel file /etc/cron.deny , ogni utente per riga (metodo tipico che interessa solo gli utenti elencati nel file).
# cat /etc/cron.deny oracle
L'altra soluzione semplice consiste nell'avere il file /etc/cron.deny vuoto e aggiungere solo il nome utente root nel file /etc/cron.allow . Ciò consente solo all'utente root di modificare/aggiungere voci cron.
Nota :Assicurati che non ci siano conflitti tra il file /etc/cron.allow e /etc/cron.deny. Fare riferimento al post di seguito per ulteriori informazioni su come crontab convalida l'accesso dell'utente a cron.UNIX/Linux:Come crontab convalida l'accesso in base ai file cron.allow e cron.denyVerifica l'utente negato con la creazione di una voce crontab. Dovrebbe darti un errore come mostrato di seguito.
# crontab -e You (oracle) are not allowed to use this program (crontab) See crontab(1) for more information
3. Un altro approccio aggressivo consiste nel rimuovere il permesso di esecuzione del comando crontab. Questo a sua volta influisce sulla capacità di tutti gli utenti non root di modificare/aggiungere voci cron.
Autorizzazioni predefinite del file /usr/bin/crontab:
# ls -lrt /usr/bin/crontab -rwsr-xr-x 1 root root 51784 Jul 22 2016 /usr/bin/crontab
Dopo aver rimosso l'autorizzazione di esecuzione:
# chmod 700 /usr/bin/crontab # ls -lrt /usr/bin/crontab -rwx----- 1 root root 51784 Jul 22 2016 /usr/bin/crontabNota:assicurati di avere il backup del file /usr/bin/crontab prima di modificare l'autorizzazione del file. Tieni inoltre presente che dopo un aggiornamento o una reinstallazione del pacchetto, questa modifica verrà ripristinata ai valori predefiniti.
si prega di notare le autorizzazioni predefinite del file /usr/bin/crontab prima di qualsiasi modifica:
# 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
Verifica l'utente negato con la creazione di una voce crontab:
# crontab -e bash: /usr/bin/crontab: Permission denied