GNU/Linux >> Znalost Linux >  >> Linux

Jak zabránit uživateli bez oprávnění root ve vytváření záznamu crontab

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


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Jak provést Chmod bez /usr/bin/chmod?

  3. Jak vytvořím crontab pomocí skriptu

  1. Nainstalujte binární soubory do /bin, /sbin, /usr/bin a /usr/sbin, interakce s --prefix a DESTDIR

  2. Jak zjistit, ze které složky běží proces?

  3. Jaké jsou významy /usr/sbin, /usr/local/sbin a /usr/local/bin?

  1. /usr/bin Vs /usr/local/bin Na Linuxu?

  2. Měly by weby žít ve /var/ nebo /usr/ podle doporučeného použití?

  3. Mám upravit /etc/crontab nebo spustit crontab -e jako root?