10 kasulikku sudoeri konfiguratsiooni sudo seadistamiseks Linuxis


Linuxis ja teistes Unixi-laadsetes operatsioonisüsteemides saab ainult juurkasutaja käivitada kõik käsud ja teha süsteemis teatud kriitilisi toiminguid, näiteks installida ja värskendada, pakette eemaldada, kasutajaid ja rühmi luua, olulisi süsteemi konfiguratsioonifaile muuta ja nii edasi.

Kuid juurkasutaja rolli täitev süsteemiadministraator võib sudo käsu ja mõne konfiguratsiooni abil lubada teistel tavalistel süsteemikasutajatel käivitada mõningaid käske ning sooritada mitmeid elutähtsaid süsteemitoiminguid, sealhulgas eespool nimetatud.

Teise võimalusena saab süsteemiadministraator jagada juurkasutaja parooli (mis ei ole soovitatav meetod), nii et tavalistel süsteemikasutajatel on su käsuga juurdepääs juurkasutaja kontole.

sudo lubab lubatud kasutajal käivitada käsu juurena (või muu kasutajana), nagu on määratletud turbepoliitikas:

  1. See loeb ja sõelub/etc/sudoers, otsib üles kutsuva kasutaja ja selle õigused,
  2. küsib seejärel kasutajalt parooli (tavaliselt kasutaja parool, kuid see võib olla ka sihtkasutaja parool. Või võib selle vahele jätta NOPASSWD märgendiga),
  3. pärast seda loob sudo alamprotsessi, milles kutsub seadet() sihtkasutajale üleminekuks
  4. järgmisena täidab see ülaltoodud lapseprotsessis argumentidena antud kesta või käsu

Allpool on kümme faili/etc/sudoers konfiguratsiooni, et muuta käsku sudo vaikimisi kirjete Defaults abil.

$ sudo cat /etc/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"
Defaults	logfile="/var/log/sudo.log"
Defaults	lecture="always"
Defaults	badpass_message="Password is wrong, please try again"
Defaults	passwd_tries=5
Defaults	insults
Defaults	log_input,log_output
Defaults                parameter,   parameter_list     #affect all users on any host
[email _List      parameter,   parameter_list     #affects all users on a specific host
Defaults:User_List      parameter,   parameter_list     #affects a specific user
Defaults!Cmnd_List      parameter,   parameter_list     #affects  a specific command 
Defaults>Runas_List     parameter,   parameter_list     #affects commands being run as a specific user

Selle juhendi ulatuses nullime esimese vormi Vaikimisi allpool toodud vormides. Parameetrid võivad olla lipud, täisarvu väärtused, stringid või loendid.

Pange tähele, et lipud on vaikimisi tõeväärtusega ja neid saab operaatori ! abil välja lülitada ning loenditel on veel kaks määramisoperaatorit: + = (lisa loendisse) ja - = (eemaldage loendist).

Defaults     parameter
OR
Defaults     parameter=value
OR
Defaults     parameter -=value   
Defaults     parameter +=value  
OR
Defaults     !parameter       

1. Määrake turvaline rada

Seda teed kasutatakse iga sudoga käivitatava käsu jaoks. Sellel on kaks tähtsust:

  1. Kasutatakse juhul, kui süsteemiadministraator ei usalda sudo kasutajate turvalist keskkonnamuutujat PATH
  2. \"juurtee" ja\"kasutajatee" eraldamiseks ei mõjuta see seade ainult vabade_gruppide määratletud kasutajaid.

Selle määramiseks lisage rida:

Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

2. Luba sudo TTY kasutaja sisselogimise seansil

Lisamaks rida, et sudo saaks käivitada reaalsest tty-st, kuid mitte selliste meetodite abil nagu cron või cgi-bin skriptid:

Defaults  requiretty   

3. Käivitage Sudo käsk pty abil

Mõni kord võivad ründajad sudo abil käivitada pahatahtliku programmi (näiteks viirus või pahavara), mis taas hargneks taustaprotsessi, mis jääb kasutaja lõppseadmesse ka siis, kui põhiprogramm on lõpetanud.

Sellise stsenaariumi vältimiseks saate konfigureerida sudo käivitama muid käske ainult psuedo-pty-st, kasutades parameetrit use_pty , olenemata sellest, kas I/O logimine on sisse lülitatud või mitte:

Defaults  use_pty

4. Looge Sudo logifail

Vaikimisi logib sudo läbi syslogi (3). Kohandatud logifaili määramiseks kasutage parameetrit logfile näiteks:

Defaults  logfile="/var/log/sudo.log"

Hosti nime ja neljakohalise aasta logimiseks kohandatud logifailis kasutage vastavalt parameetreid log_host ja log_year järgmiselt:

Defaults  log_host, log_year, logfile="/var/log/sudo.log"

Allpool on näide kohandatud sudo logifailist:

5. Logige Sudo käsusisend/väljund

Parameetrid log_input ja log_output võimaldavad sudol käivitada pseudo-tty-s käsu ja registreerida kõik kasutaja sisendid ja kõik ekraanile saadetud väljundid vastuvõtlikult.

Vaikimisi sisend-/väljundlogikataloog on/var/log/sudo-io ja kui seansi järjekorranumber on olemas, salvestatakse see sellesse kataloogi. Kohandatud kataloogi saate määrata parameetri iolog_dir kaudu.

Defaults   log_input, log_output

Toetatud on mõned põgenemisjärjestused, näiteks % {seq} , mis laieneb monotooniliselt suurenevale aluse-36 järjekorranumbrile, näiteks 000001, kus iga kahe numbri abil luuakse uus kataloog, nt. 00/00/01 nagu allpool toodud näites:

$ cd /var/log/sudo-io/
$ ls
$ cd  00/00/01
$ ls
$ cat log

Ülejäänud faile selles kataloogis saate vaadata käsu cat abil.

6. Loeng Sudo kasutajad

Sudo kasutajate loenguks parooli kasutamise kohta süsteemis kasutage loenguparameetrit järgmiselt.

Sellel on 3 võimalikku väärtust:

  1. alati - loengu alati kasutajale.
  2. üks kord - loe kasutajale ainult sudo käsu esmakordsel käivitamisel (seda kasutatakse siis, kui väärtust pole määratud)
  3. mitte kunagi - ära kunagi loengu kasutajale.

 
Defaults  lecture="always"

Lisaks saate parameetriga lecture_file määrata kohandatud loengufaili, tippige faili sobiv teade:

Defaults  lecture_file="/path/to/file"

7. Kuva kohandatud sõnum, kui sisestate vale sudo parooli

Kui kasutaja sisestab vale parooli, kuvatakse käsureal teatud teade. Vaikimisi sõnum on\"vabandust, proovige uuesti". Sõnumit saate muuta parameetri badpass_message abil järgmiselt:

Defaults  badpass_message="Password is wrong, please try again"

8. Suurendage sudo Password Tries Limit

Parameetrit passwd_tries kasutatakse selleks, et määrata, mitu korda saab kasutaja parooli sisestada.

Vaikeväärtus on 3:

Defaults   passwd_tries=5 

Parooli ajalõpu (vaikimisi on 5 minutit) määramiseks parameetri passwd_timeout abil lisage järgmine rida:

Defaults   passwd_timeout=2

9. Las Sudo solvab teid, kui sisestate vale parooli

Kui kasutaja sisestab vale parooli, kuvab sudo terminalis solvangute parameetriga solvanguid. See lülitab parameetri badpass_message automaatselt välja.

Defaults  insults 

Lisateave: Las Sudo solvab teid, kui sisestate vale parooli

10. Lisateave Sudo konfiguratsioonide kohta

Lisaks saate lisateavet sudo käsukonfiguratsioonide kohta järgmiselt: Su ja sudo erinevus ja sudo seadistamine Linuxis.

See on kõik! Alloleva kommentaaride jaotise kaudu saate Linuxi kasutajatega jagada muid kasulikke sudo käskude konfiguratsioone või nippe ja näpunäiteid.