V produkčních prostředích je to často požadavek, aby se uživatelům bez oprávnění root zakázalo vytváření jakékoli položky crontab. Existují tři způsoby, jak toho dosáhnout:
1. Zakažte ssh uživatele bez oprávnění root do systému, pak uživatel bez oprávnění root nebude moci vůbec používat shell. Postup naleznete v tomto příspěvku.
2. Přidejte uživatele do souboru /etc/cron.deny , každý uživatel na řádek (Typická metoda, která ovlivňuje pouze uživatele seznamu):
# cat /etc/cron.deny johny
Poznámka: Ujistěte se, že nedochází ke konfliktu mezi soubory /etc/cron.allow a /etc/cron.deny.
Ověřte odmítnutého uživatele vytvořením položky crontab:
$ crontab -e You (johny) are not allowed to use this program (crontab) See crontab(1) for more information
3. Zakázat oprávnění ke spuštění příkazu crontab (Agresivní přístup, který ovlivňuje všechny uživatele bez oprávnění root):
Výchozí oprávnění:
# ls -lrt /usr/bin/crontab -rwsr-xr-x 1 root root 57552 Apr 21 2015 /usr/bin/crontab
Změnit oprávnění (odebrat bit setuid):
# chmod 700 /usr/bin/crontab # ls -lrt /usr/bin/crontab -rwx------ 1 root root 57552 Apr 21 2015 /usr/bin/crontab
Poznámka:Před změnou oprávnění k souboru se ujistěte, že máte záložní soubor.
Po upgradu balíčku se tato změna vrátí na výchozí.
Výchozí oprávnění:
# 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: -
Ověřte odmítnutého uživatele vytvořením položky crontab:
$ crontab -e bash: /usr/bin/crontab: Permission denied