Správanie príkazu sudo je riadené súborom / etc / sudoers vo vašom systéme. Tento príkaz musí byť upravený pomocou príkazu visudo, ktorý vykoná kontrolu syntaxe, aby ste nepoškodili súbor.
Zadajte používateľov s oprávneniami Sudo
Používateľský účet, ktorý vytvoríte pri inštalácii Ubuntu, je označený ako účet správcu, čo znamená, že môže používať sudo. Akékoľvek ďalšie používateľské účty, ktoré vytvoríte po inštalácii, môžu byť buď správcovské alebo štandardné používateľské kontá - Štandardné používateľské účty nemajú oprávnenia sudo.
Typy používateľských účtov môžete ovládať graficky z nástroja Ubuntu User Accounts. Ak ju chcete otvoriť, kliknite na svoje používateľské meno na paneli a vyberte položku Užívateľské kontá alebo vyhľadajte používateľské kontá v pomlčke.
Make Sudo zabudnúť heslo
Predvolene si sudo pamätá vaše heslo po 15 minútach po jeho zadaní. To je dôvod, prečo musíte zadávať svoje heslo len raz pri vykonávaní viacerých príkazov pomocou sudo v rýchlej postupnosti. Ak sa chystáte nechať niekoho iného používať váš počítač a chcete, aby sudo požiadal o heslo pri spustení ďalšieho, spustite nasledujúci príkaz a sudo zabudne vaše heslo:
sudo –k
Vždy požiadajte o heslo
Ak by ste radšej mali byť vyzvaní zakaždým, keď používate sudo - napríklad, ak majú ostatní ľudia pravidelný prístup k počítaču - môžete úplne zakázať správanie pri zapamätávaní hesla.
Toto nastavenie, rovnako ako iné nastavenia sudo, je obsiahnuté v súbore / etc / sudoers. Spustite príkaz visudo v termináli a otvorte súbor na úpravu:
sudo visudo
Napriek svojmu názvu je tento príkaz pred nano editorom namiesto tradičného editora vi na Ubuntu predvolený.
Pridajte nasledujúci riadok pod ostatné riadky Predvolené v súbore:
Defaults timestamp_timeout=0
Zmeňte časový limit hesla
Nastavenie časového limitu iného hesla - buď dlhšie ako 30 minút, alebo kratšie ako 5 minút - postupujte podľa vyššie uvedených krokov, ale použite inú hodnotu pre časovú značku timestamp_timeout. Číslo zodpovedá počtu minút, ktoré sudo pamätá na vaše heslo. Aby sudo pamätal heslo na 5 minút, pridajte nasledujúci riadok:
Default timestamp_timeout=5
Nikdy nepýtajte heslo
Môžete tiež mať sudo nikdy nepýtať heslo - ak ste prihlásený, každý príkaz s prefixom sudo sa spustí s oprávneniami root. Ak to chcete urobiť, pridajte do súboru sudoers nasledujúci riadok, kde je vaše užívateľské meno:
username ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Spustiť špecifické príkazy bez hesla
Môžete tiež zadať špecifické príkazy, ktoré pri spustení sudo nikdy nebudú vyžadovať heslo. Namiesto použitia "ALL" po NOPASSWD vyššie, zadajte umiestnenie príkazov. Napríklad nasledujúci riadok umožní vášmu používateľskému účtu spustiť príkazy apt-get a vypnutie bez hesla.
username ALL=(ALL) NOPASSWD: /usr/bin/apt-get,/sbin/shutdown
To môže byť obzvlášť užitočné pri spustení špecifických príkazov pomocou sudo v skripte.
Umožniť používateľovi spúšťať iba špecifické príkazy
Zatiaľ čo môžete vylúčiť konkrétne príkazy a zabrániť ich spúšťaniu pomocou sudo, nie je to veľmi efektívne. Mohli by ste napríklad špecifikovať, že používateľský účet nebude môcť spustiť príkaz vypnutia pomocou sudo. Ale tento užívateľský účet mohol spustiť príkaz cp pomocou sudo, vytvoriť kópiu príkazu vypnutia a vypnúť systém pomocou kópie.
Efektívnejším spôsobom je zostavenie konkrétnych príkazov na bielom. Môžete napríklad dať Štandardnému používateľskému účtu povolenie na použitie príkazov apt-get a shutdown, ale nič viac. Ak to chcete urobiť, pridajte nasledujúci riadok, kde je štandardným užívateľským menom používateľa:
standarduser ALL=/usr/bin/apt-get,/sbin/shutdown
sudo -U standarduser –l
Zaznamenávanie prístupu Sudo
Všetky sudo prístupy môžete prihlásiť pridaním nasledujúceho riadku. / var / log / sudo je len príklad; môžete použiť ľubovoľné miesto súboru denníka, ktoré sa vám páči.
Defaults logfile=/var/log/sudo
sudo cat /var/log/sudo