Kao i većina stvari na Linuxu, sudo naredba je vrlo konfigurabilna. Sudo može pokrenuti određene naredbe bez traženja lozinke, ograničiti određene korisnike na samo odobrene naredbe, zapisničke naredbe pokrenuti sa sudo i još mnogo toga.
Ponašanje sudo komande kontrolira datoteka / etc / sudoers na vašem sustavu. Ova naredba mora biti uređena pomoću visudo naredbe koja provodi provjeru sintakse kako biste osigurali da ne slučajno prekršite datoteku.
Korisnički račun koji stvorite tijekom instalacije Ubuntu označen je kao račun administratora, što znači da može koristiti sudo. Svi dodatni korisnički računi koje stvorite nakon instalacije mogu biti administratorski ili standardni korisnički računi - standardni korisnički računi nemaju sudo dopuštenja.
Pomoću Ubuntu korisničkog računa možete grafički upravljati tipovima korisničkog računa. Da biste ga otvorili, kliknite korisničko ime na ploči i odaberite korisničke račune ili potražite korisničke račune u crtici.
Prema zadanim postavkama, sudo zapamti svoju lozinku 15 minuta nakon što ga upišete. Zato morate upisati svoju lozinku jednom kada izvršite više naredbi sa sudo u brzom slijedu. Ako namjeravate nekome drugome koristiti računalo i želite da sudo zapita lozinku kada se pokrene sljedeća, izvršite sljedeću naredbu i sudo će zaboraviti vašu lozinku:
sudo -k
Ako biste radije zatražili svaki put kada koristite sudo - na primjer, ako drugi ljudi redovito imaju pristup vašem računalu - u potpunosti možete onemogućiti ponašanje sjećanja zaporke.
Ova postavka, kao i druge sudo postavke, nalazi se u datoteci / etc / sudoers. Pokrenite naredbu visudo na terminalu da biste otvorili datoteku za uređivanje:
sudo visudo
Unatoč nazivu, ova naredba zadane postavke novog korisnik-nano uređivača umjesto tradicionalnog urednika vi na Ubuntu.
Dodajte sljedeću retku ispod ostalih linija Defaults u datoteci:
Defaults timestamp_timeout = 0
Pritisnite Ctrl + O da biste spremili datoteku, a zatim pritisnite Ctrl + X da biste zatvorili Nano. Sudo će vas uvijek uvijek tražiti za zaporku.
Da biste postavili drugačiji vremenski rok za lozinku - ili dulji od 30 minuta ili kraći poput 5 minuta - slijedite gore navedene korake, ali upotrijebite drugu vrijednost za vremensko razdoblje. Broj odgovara broju minuta koje će sudo zapamtiti vašu lozinku. Da biste sudo zapamtili zaporku 5 minuta, dodajte sljedeću retku:
Zadani timestamp_timeout = 5
Također možete sudo nikad ne pitati za lozinku - sve dok ste prijavljeni, svaka naredba koju prefiksete sa sudo pokrenut će s root dozvolama. Da biste to učinili, dodajte sljedeći redak u datoteku suduša, gdje je korisničko ime vaše korisničko ime:
korisničko ime ALL = (ALL) NOPASSWD: SVI
Također možete promijeniti% sudo line - to jest, liniju koja omogućuje svim korisnicima u sudo grupi (također poznat kao korisnici administratora) korištenje sudo - da svi korisnici administratora ne zahtijevaju lozinke:
% sudo ALL = (ALL: ALL) NOPASSWD: SVI
Također možete odrediti određene naredbe koje nikada neće zahtijevati lozinku kada se pokrene sa sudo. Umjesto da upotrijebite "ALL" nakon NOPASSWD gore, navedite mjesto naredbi. Na primjer, sljedeći redak će vašem korisničkom računu omogućiti pokretanje apt-get i shutdown naredbi bez lozinke.
korisničko ime ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
To može biti osobito korisno prilikom pokretanja određenih naredbi sa sudo u skripti.
Dok možete označiti određene naredbe i spriječiti korisnike da ih izvode sa sudo, to nije jako učinkovito. Na primjer, možete odrediti da korisnički račun ne može pokrenuti naredbu za isključivanje s sudo. Ali taj korisnički račun mogao bi pokrenuti naredbu cp sa sudo, stvoriti kopiju naredbe za isključivanje i isključiti sustav pomoću kopije.
Učinkovitiji način je dopuštanje određenih naredbi. Na primjer, možete dati standardnom korisničkom računu dopuštenje za korištenje apt-get i shutdown naredbi, ali ne i više. Da biste to učinili, dodajte sljedeću retku, gdje je standardno korisničko korisničko ime:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Sljedeća naredba će nam reći koje naredbe korisnik može pokrenuti sa sudo:
sudo -U standarduser -l
Možete prijaviti sve sudo pristup dodajući sljedeći redak. / var / log / sudo samo je primjer; možete upotrijebiti bilo koju lokaciju dnevne datoteke koju želite.
Defaults logfile = / var / log / sudo
Pregled sadržaja zapisničke datoteke s naredbom poput ove:
sudo cat / var / log / sudo
Imajte na umu da, ako korisnik ima neograničen sudo pristup, taj korisnik ima mogućnost izbrisati ili mijenjati sadržaj ove datoteke. Korisnik također može pristupiti rootovom promptu sa sudo i pokrenuti naredbe koje se neće prijaviti. Značajka bilježenja je najkorisnija kada je povezana s korisničkim računima koji imaju ograničen pristup podskupu naredbi sustava.