22Aug
Kot večina stvari v Linuxu, je ukaz sudo zelo konfiguriran. Imate lahko ukaze sudo za izvajanje posebnih ukazov, ne da bi zahtevali geslo, omejite določene uporabnike le na odobrene ukaze, ukaze za prijavo, ki se izvajajo s sistemom sudo, in drugo.
Obnašanje ukaza sudo nadzoruje datoteka sudoers /etc/ na vašem sistemu. Ta ukaz mora biti urejen z ukazom visudo, ki opravlja preverjanje sintakse, da zagotovite, da ne slučajno prekinete datoteke.
Navedite uporabnike z dovoljenji za Sudo
Uporabniški račun, ki ga ustvarite ob namestitvi Ubuntu, je označen kot skrbniški račun, kar pomeni, da lahko uporablja sudo. Vsi dodatni uporabniški računi, ki jih ustvarite po namestitvi, so lahko skrbniški ali standardni uporabniški računi. - Standardni uporabniški računi nimajo dovoljenj sudo.
Vrste uporabniških računov lahko grafično nadzirate iz Ubuntuovega uporabniškega računa.Če ga želite odpreti, kliknite svoje uporabniško ime na plošči in izberite Uporabniški računi ali poiščite uporabniške račune v pomišljaju.
Sudo pozabite geslo
Privzeto vam sudo zapomni svoje geslo 15 minut po tem, ko ga vnesete. To je razlog, zakaj morate samo enkrat vnesti geslo, ko boste v hitrem zaporedju izvedli več ukazov z sudo.Če nameravate nekdo drug uporabljati računalnik in želite, da geslo sudo zaprosi za naslednje geslo, izvršite naslednji ukaz in sudo bo pozabil vaše geslo:
sudo -k
Vedno vpišite geslo
Če steVsakič, ko boste uporabili sudo, boste prejeli poziv, ne glede na to, ali imajo drugi ljudje reden dostop do vašega računalnika - v celoti lahko onemogočite vedenje v zvezi z geslom.
Ta nastavitev, tako kot druge nastavitve sudo, je v datoteki sudoers /etc/.Zaženite ukaz visudo v terminalu, da odprete datoteko za urejanje:
sudo visudo
Kljub svojemu imenu ta ukaz privzame nov uporabniški prijazen nano urejevalnik namesto tradicionalnega vi urejevalnika na Ubuntu.
Dodajte naslednjo vrstico pod druge privzete vrstice v datoteki:
Privzeta vrednost timestamp_timeout = 0
Pritisnite Ctrl + O, da shranite datoteko in nato Ctrl + X, da zaprete Nano. Sudo vas bo zdaj vedno vprašal za geslo.
Spreminjanje časovne omejitve gesla
Če želite nastaviti drugačno časovno omejitev gesla - bodisi daljša kot 30 minut ali krajša kot 5 minut - sledite zgornjim korakom, vendar uporabite drugačno vrednost za časovni čas.Številka ustreza številu minut, ki jih sudo zapomni vašega gesla za.Če želite sudo zapomniti geslo za 5 minut, dodajte naslednjo vrstico:
Privzeto timestamp_timeout = 5
Nikoli ne prosi za geslo
Prav tako lahko sudo nikoli ne zahteva gesla - dokler ste prijavljeni, vsak ukaz, ki ste gapredpona s sudo se bo zagnala z dovoljenji root.Če želite to narediti, v datoteko sudoers dodajte naslednjo vrstico, kjer je vaše uporabniško ime:
uporabniško ime ALL =( ALL) NOPASSWD: VSE
Prav tako lahko spremenite vrstico% sudo - to je črta, ki vsem uporabnikom omogoča,sudo skupina( znana tudi kot uporabniki administratorja) za uporabo sudo - da vsi skrbniški uporabniki ne zahtevajo gesel:
% sudo ALL =( ALL: ALL) NOPASSWD: VSE
Zaženi posebne ukaze brez gesla
Določite lahko tudi določene ukaze, kinikoli ne bo zahteval gesla med vožnjo z sudo. Namesto da uporabite "ALL" po NOPASSWD zgoraj, podajte lokacijo ukazov. Na primer, naslednja vrstica bo vašemu uporabniškemu računu omogočila zagon ukazov apt-get in shutdown brez gesla.
uporabniško ime ALL =( ALL) NOPASSWD: /usr/bin/ apt-get, /sbin/ zaustavitev
To je lahko še posebej uporabno pri izvajanju posebnih ukazov s sudo v skriptu.
Dovoli uporabniku, da zažene samo posebne ukaze
Čeprav lahko črkovate določene ukaze in preprečite uporabnikom, da jih izvajajo s sudo, to ni zelo učinkovito. Na primer, lahko določite, da uporabniški račun ne more zagnati ukaza za zaustavitev s sistemom sudo. Toda ta uporabniški račun je lahko zagnal ukaz cp s sudo, ustvaril kopijo ukaza za zaustavitev in zaustavil sistem s pomočjo kopije.
Učinkovitejša je izbira posebnih ukazov whitelist. Na primer, lahko uporabite standardni uporabniški račun za uporabo ukazov apt-get in shutdown, vendar ne več.Če želite to narediti, dodajte naslednjo vrstico, kjer je standarduser uporabniško uporabniško ime:
standarduser ALL = /usr/bin/ apt-get, /sbin/ zaustavitev
Naslednji ukaz nam pove, katere ukaze lahko uporabnik zažene s sudo:
sudo -U standarduser -l
Logging Sudo Access
Vse sudo dostop lahko vnesete tako, da dodate naslednjo vrstico. /var/log/ sudo je le primer;lahko uporabite poljubno lokacijo dnevnika.
Defaults logfile = /var/log/ sudo
Oglejte si vsebino datoteke dnevnika s takim ukazom:
sudo cat /var/log/ sudo
Upoštevajte, da lahko uporabnik, če ima uporabnik neomejen dostop do sudo, lahko izbriše ali spremenivsebine te datoteke. Uporabnik lahko dostopa tudi do korenskega poziva z ukazom sudo in ukazi, ki ne bi bili prijavljeni. Funkcija evidentiranja je najbolj uporabna, če jo povezujemo z uporabniškimi računi, ki imajo omejen dostop do podsede ukazov sistema.