Tento příspěvek popisuje kroky ke zpřísnění zabezpečení systému tím, že zabrání uživatelům s přístupem sudo získat oprávnění superuživatele příkazem:
$ sudo su
sudo umožňuje správci systému umožnit uživateli nebo skupině uživatelů spouštět specifické nástroje příkazového řádku s různými oprávněními (jako je oprávnění superuživatele „root“), přičemž zná pouze původní heslo uživatele.
Při spuštění příkazu sudo se pokusí najít odpovídající příkaz ve svých konfiguračních souborech /etc/sudoers nebo /etc/sudoers.d/; pokud je nalezena shoda, je uživateli uděleno oprávnění ke spuštění příkazu, pokud ne, je událost zaprotokolována a příkaz je odmítnut.
Příkaz sudo funguje tak, že porovnává argumenty z příkazového řádku s každým záznamem v souborech /etc/sudoers nebo /etc/sudoers.d/. O výsledku rozhoduje první nalezená shoda. Každé pravidlo je testováno v jejich pořadí v souboru /etc/sudoers. Pravidlo se shoduje se začátkem příkazu. Pokud je pravidlo kratší než příkaz, zkontroluje se pouze odpovídající část na začátku příkazu; žádný zbytek příkazu není zkontrolován. Na pořadí pravidel /etc/sudoers záleží; vždy dávejte delší pravidla před kratší verzi.
1. Přihlaste se jako root na server.
2. Zálohujte soubor /etc/sudoers konfigurační soubor.
# cp -p /etc/sudoers /etc/sudoers.ORIG
3. Upravte konfigurační soubor /etc/sudoers.
# visudo -f /etc/sudoers
Od:
##Allow orarom user to run any command (enabled for patching from oracle platnum support) orarom ALL=(ALL) ALL
Komu:
##Limit the orarom user to run any command (enabled for patching from oracle platnum support), except for sudo su to root orarom ALL = ALL, !/bin/su
4. Poté soubor uložte.
5. Udělejte totéž s jiným uživatelským účtem v sudo.
Ověřit
Pojďme ověřit, zda jsme uživateli zakázali přístup sudo.
$ sudo su - [sudo] password for orarom: Sorry, user orarom is not allowed to execute '/bin/su -' as root on testvm01.