22Aug

8 způsobů, jak Tweak a konfigurovat Sudo na Ubuntu

Jako většina věcí na Linuxu je příkaz sudo velmi konfigurovatelný.Můžete mít sudo spouštět specifické příkazy, aniž byste žádali o heslo, omezili konkrétní uživatele pouze na schválené příkazy, příkazy protokolu spouštěné pomocí sudo a další.

Chování příkazu sudo je řízeno souborem sudoers /etc/ ve vašem systému. Tento příkaz musí být upraven pomocí příkazu visudo, který provádí kontrolu syntaxe, aby nedošlo k náhodnému přerušení souboru.

Určení uživatelů s oprávněním Sudo

Uživatelský účet, který vytvoříte při instalaci Ubuntu, je označen jako účet správce, což znamená, že může používat sudo. Jakékoli další uživatelské účty, které vytvoříte po instalaci, mohou být administrátory nebo standardní uživatelské účty - Standardní uživatelské účty nemají oprávnění sudo.

Typy uživatelských účtů můžete graficky řídit z nástroje Uživatelské účty Ubuntu. Chcete-li ji otevřít, klikněte na panel uživatele a vyberte Uživatelské účty nebo Hledat uživatelské účty v pomlčce.

Udělat Sudo Zapomenutí hesla

Ve výchozím nastavení si sudo pamatuje heslo po dobu 15 minut po jeho zadání.To je důvod, proč stačí zadat heslo pouze jednou při spouštění několika příkazů se sudo v rychlém sledu. Pokud se chystáte nechat někoho jiného použít váš počítač a chcete, aby sudo požádal o heslo při jeho spuštění, spusťte následující příkaz a sudo zapomene heslo:

sudo -k

Vždy se ptát na heslo

Pokud jsteBudete spíše vyzváni pokaždé, když použijete sudo - například, pokud ostatní lidé pravidelně mají přístup k vašemu počítači - můžete plně zakázat chování při zapamatování hesla.

Toto nastavení, stejně jako ostatní nastavení sudo, je obsaženo v souboru sudoers /etc/.Spusťte příkaz visudo v terminálu a otevřete soubor pro úpravu:

sudo visudo

Přes toto jméno je tento příkaz výchozím editorem nano namísto tradičního vi editoru Ubuntu.

Přidejte následující řádek pod ostatní řádky Výchozí v souboru:

Výchozí hodnoty timestamp_timeout = 0

Stisknutím kombinace Ctrl + O uložte soubor a stisknutím klávesy Ctrl + X ukončete Nano. Sudo vás nyní vždy vyzve k zadání hesla.

Změna časového limitu hesla

Chcete-li nastavit jiný časový limit hesla - buď delší, například 30 minut, nebo kratší, např. 5 minut - postupujte podle výše uvedených kroků, ale použijte jinou hodnotu pro časovou značku timestamp_timeout.Číslo odpovídá počtu minut, které sudo zapamatuje vaše heslo. Chcete-li sudo zapamatovat vaše heslo po dobu 5 minut, přidejte následující řádek:

Výchozí timestamp_timeout = 5

Nikdy neptejte se na heslo

Můžete také mít sudo nikdy nepožádat o heslo - pokud jste přihlášeni,předpona se sudo spustí s oprávněním root. Chcete-li to provést, přidejte do souboru sudoers následující řádek, kde uživatelské jméno je vaše uživatelské jméno:

uživatelské jméno ALL =( ALL) NOPASSWD: ALL

Můžete také změnit řádek% sudo - tedy řádek,sudo group( také známá jako uživatelé Administrátora) používat sudo - aby všichni uživatelé Administrátoru nevyžadovali hesla:

% sudo ALL =( ALL: ALL) NOPASSWD: VŠECHNY

Spuštění specifických příkazů bez hesla

Můžete také určit konkrétní příkazypři spuštění s sudo nikdy nebude vyžadovat heslo. Namísto použití "ALL" po NOPASSWD výše, určete umístění příkazů.Například následující řádek umožní vašemu uživatelskému účtu spouštět příkazy apt-get a vypnutí bez hesla.

uživatelské jméno ALL =( ALL) NOPASSWD: /usr/bin/ apt-get, /sbin/ vypnutí

To může být zvláště užitečné při spuštění specifických příkazů se sudo ve skriptu.

Umožnit uživateli spouštět pouze specifické příkazy

Zatímco můžete seznamovat s konkrétními příkazy a zabránit jejich spouštění pomocí sudo, není to příliš účinné.Můžete například zadat, že uživatelský účet nebude moci spustit příkaz vypnutí pomocí sudo. Tento uživatelský účet však mohl spustit příkaz cp pomocí sudo, vytvořit kopii příkazu vypnutí a vypnout systém pomocí kopie.

Efektivnějším způsobem je přidávání specifických povelů na bílou listinu. Můžete například dát standardnímu uživatelskému účtu oprávnění používat příkazy apt-get a shutdown, ale ne více. Za tímto účelem přidejte následující řádek, kde standarduser je uživatelské jméno uživatele:

standarduser ALL = /usr/bin/ apt-get, /sbin/ vypnutí

Následující příkaz nám říká, jaké příkazy může uživatel spouštět s sudo:

sudo -U standarduser -l

Přihlášení Sudo Access

Můžete přihlásit celý sudo přístup přidáním následujícího řádku. /var/log/ sudo je jen příkladem;můžete použít libovolné umístění souboru protokolu, které se vám líbí.

výchozí logfile = /var/log/ sudo

Zobrazit obsah souboru protokolu pomocí příkazu, jako je tento:

sudo cat /var/log/ sudo

Mějte na paměti, že pokud má uživatel neobmedzený přístup sudo, má tento uživatel možnost odstranit nebo změnitobsahu tohoto souboru. Uživatel by mohl také přistupovat k příkazu root s příkazem sudo a spustit příkazy, které by nebyly zaznamenány. Funkce protokolování je nejužitečnější při propojení s uživatelskými účty, které mají omezený přístup k podmnožině systémových příkazů.