10 Gagnlegar Sudoers stillingar til að stilla sudo í Linux


Í Linux og öðrum Unix-líkum stýrikerfum getur aðeins rótnotandinn keyrt allar skipanir og framkvæmt ákveðnar mikilvægar aðgerðir á kerfinu eins og að setja upp og uppfæra, fjarlægja pakka, búa til notendur og hópa, breyta mikilvægum kerfisstillingarskrám og svo framvegis.

Hins vegar getur kerfisstjóri sem tekur að sér hlutverk rótarnotandans leyft öðrum venjulegum kerfisnotendum með hjálp sudo skipana og nokkrar stillingar að keyra nokkrar skipanir auk þess að framkvæma fjölda mikilvægra kerfisaðgerða, þar á meðal þær sem nefnd eru hér að ofan.

Að öðrum kosti getur kerfisstjórinn deilt lykilorði rótnotanda (sem er ekki ráðlögð aðferð) þannig að venjulegir kerfisnotendur hafi aðgang að rótnotandareikningnum með su skipun.

sudo gerir leyfilegum notanda kleift að framkvæma skipun sem rót (eða annar notandi), eins og tilgreint er í öryggisstefnunni:

  1. Það les og greinir /etc/sudoers, flettir upp notandanum sem kallar fram og heimildir hans,
  2. þá biður notandinn sem kallar fram lykilorð (venjulega lykilorð notandans, en það getur líka verið lykilorð marknotandans. Eða hægt er að sleppa því með NOPASSWD merkinu),
  3. eftir það býr sudo til undirferli þar sem það kallar setuid() til að skipta yfir í marknotandann
  4. næst keyrir það skel eða skipunina sem gefin er sem rök í undirferlinu hér að ofan.

Hér að neðan eru tíu /etc/sudoers skráarstillingar til að breyta hegðun sudo skipana með því að nota sjálfgefnar færslur.

$ 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

Fyrir umfang þessarar handbókar munum við núllstilla í fyrstu gerð sjálfgefinna á eyðublöðunum hér að neðan. Færibreytur geta verið fánar, heiltölugildi, strengir eða listar.

Þú ættir að hafa í huga að fánar eru óbeint boolean og hægt er að slökkva á þeim með ! stjórnandanum, og listar hafa tvo úthlutunaraðgerða til viðbótar, += (bæta við lista) og -= (fjarlægja af lista).

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

1. Stilltu öruggan slóð

Þetta er slóðin sem notuð er fyrir hverja skipun sem keyrð er með sudo, hún hefur tvennt mikilvæg:

  1. Notað þegar kerfisstjóri treystir ekki sudo notendum til að hafa örugga PATH umhverfisbreytu
  2. Til að aðskilja „rótarslóð“ og „notandaslóð“ verða aðeins notendur skilgreindir af exempt_group ekki fyrir áhrifum af þessari stillingu.

Til að stilla það skaltu bæta við línunni:

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

2. Virkjaðu sudo á TTY notendainnskráningarlotu

Til að gera kleift að kalla fram sudo frá raunverulegu tty en ekki með aðferðum eins og cron eða cgi-bin forskriftum skaltu bæta við línunni:

Defaults  requiretty   

3. Keyra Sudo Command Using a Pty

Nokkrum sinnum geta árásarmenn keyrt illgjarnt forrit (eins og vírus eða spilliforrit) með sudo, sem myndi aftur punga í bakgrunnsferli sem verður eftir á endatæki notandans jafnvel þegar aðalforritið hefur lokið keyrslu.

Til að forðast slíka atburðarás geturðu stillt sudo til að keyra aðrar skipanir eingöngu frá psuedo-pty með því að nota use_pty færibreytuna, hvort sem kveikt er á I/O skráningu eða ekki sem hér segir:

Defaults  use_pty

4. Búðu til Sudo Log File

Sjálfgefið er að sudo skráir sig í gegnum syslog(3). Hins vegar, til að tilgreina sérsniðna annálaskrá, notaðu logfile færibreytuna svona:

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

Til að skrá hýsingarnafn og fjögurra stafa ártal í sérsniðnu annálaskránni skaltu nota log_host og log_year færibreytur í sömu röð eins og hér segir:

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

Hér að neðan er dæmi um sérsniðna sudo log skrá:

5. Skrá Sudo Command Input/Output

Log_input og log_output færibreyturnar gera sudo kleift að keyra skipun í gervi-tty og skrá allt notandainntak og allt úttak sem sent er á skjáinn með móttækilegum hætti.

Sjálfgefin inn-/útskráningarskrá er /var/log/sudo-io, og ef það er seturaðnúmer er það geymt í þessari möppu. Þú getur tilgreint sérsniðna möppu í gegnum iolog_dir færibreytuna.

Defaults   log_input, log_output

Það eru nokkrar undankomuraðir sem eru studdar eins og %{seq} sem stækkar í eintóna vaxandi base-36 raðnúmer, eins og 000001, þar sem hver tveir tölustafir eru notaðir til að mynda nýja skrá, t.d. 00/00/01 eins og í dæminu hér að neðan:

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

Þú getur skoðað restina af skránum í þeirri möppu með því að nota cat skipunina.

6. Fyrirlestur Sudo notendur

Til að leiðbeina sudo notendum um lykilorðsnotkun á kerfinu, notaðu fyrirlestursbreytuna eins og hér að neðan.

Það hefur 3 möguleg gildi:

  1. alltaf – alltaf fyrirlestra notanda.
  2. einu sinni – aðeins fyrirlestur notanda í fyrsta skipti sem þeir framkvæma sudo skipun (þetta er notað þegar ekkert gildi er tilgreint)
  3. aldrei – aldrei fyrirlestra notandanum.

 
Defaults  lecture="always"

Að auki geturðu stillt sérsniðna fyrirlestraskrá með færibreytunni lecture_file, sláðu inn viðeigandi skilaboð í skrána:

Defaults  lecture_file="/path/to/file"

7. Sýna sérsniðin skilaboð þegar þú slærð inn rangt sudo lykilorð

Þegar notandi slær inn rangt lykilorð birtast ákveðin skilaboð á skipanalínunni. Sjálfgefin skilaboð eru „því miður, reyndu aftur“, þú getur breytt skilaboðunum með því að nota badpass_message færibreytuna sem hér segir:

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

8. Auka takmörk sudo lykilorðatilrauna

Færibreytan passwd_tries er notuð til að tilgreina fjölda skipta sem notandi getur reynt að slá inn lykilorð.

Sjálfgefið gildi er 3:

Defaults   passwd_tries=5 

Til að stilla tímamörk fyrir lykilorð (sjálfgefið er 5 mínútur) með passwd_timeout færibreytu skaltu bæta við línunni fyrir neðan:

Defaults   passwd_timeout=2

9. Láttu Sudo móðga þig þegar þú slærð inn rangt lykilorð

Ef notandi slær inn rangt lykilorð mun sudo birta móðgun á flugstöðinni með móðgunum færibreytunni. Þetta mun sjálfkrafa slökkva á badpass_message færibreytunni.

Defaults  insults 

Lestu meira: Láttu Sudo móðga þig þegar þú slærð inn rangt lykilorð

10. Lærðu meira Sudo stillingar

Að auki geturðu lært fleiri sudo skipanastillingar með því að lesa: Mismunur á su og sudo og hvernig á að stilla sudo í Linux.

Það er það! Þú getur deilt öðrum gagnlegum sudo skipunarstillingum eða brellum og ráðum með Linux notendum þarna úti í gegnum athugasemdahlutann hér að neðan.