V minulosti jsem napsal mnoho článků o sudoers, jako jsou osvědčené postupy, a vyřešil jsem mnoho chyb souvisejících se soubory sudoers. Tentokrát mě jeden z mých čtenářů požádal, abych ověřil jeho soubor sudoers? Níže je soubor sudoers uživatelů. Tento článek vysvětluje, jak zkontrolovat syntaxi sudoers.
# # This file MUST be edited with the ‘visudo’ command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path=”/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin” # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on “#include” directives: #includedir /etc/sudoers.d
Přestože jsem prošel řádek po řádku a ověřil všechny řádky, nemohl jsem najít problém. Některé chyby nemusí být lidskému oku viditelné, jako je smazání znaku a nesprávné uzavření složených závorek atd.. Otázkou tedy je, jak získáte kontrolu syntaxe pro soubor sudoers?
Nejlepším postupem pro přímou úpravu souboru sudoers je použití visudo
protože má příznak, který provede kontrolu syntaxe v souboru sudoers. Po provedení změn můžete spustit níže uvedený příkaz a zkontrolovat správnost syntaxe.
Dokud nepotvrdíte, že váš soubor sudoers je správný, NEOPUŠTĚJTE relaci ROOT. Přihlaste se na stejný server samostatně a vyzkoušejte příkazy Sudo.
# visudo -c /etc/sudoers: parsed OK
Další úžasná funkce visudo
můžete mu říci, aby zkontroloval určitý soubor, nikoli pouze /etc/sudoers
soubor. To pomáhá zkontrolovat syntaxi souboru na libovolném serveru, než jej zavedete na produkční server.
# visudo -cf /tmp/sudoers /tmp/sudoers: parsed OK