# Priročnik za &kdesu;

## Uvod

Dobrodošli v &kdesu;! &kdesu; je grafični vmesnik za &UNIX;-ov ukaz `su` za namizno okolje KDE. Omogoča vam, da poganjate program kot drug uporabnik, s tem, da zagotovite geslo tega uporabnika. &kdesu; je nepriviligiran program; uporablja sistemski `su`.

&kdesu; ima dodatno možnost: za vas si lahko zapomni gesla. Če uporabljate to možnost, morate vnesti vsako geslo le enkrat za vsak ukaz. Glejte sec-password-keeping za več informacij o tem in za varnostno analizo.

Ta program je mišljen za zagon iz ukazne vrstice ali `.desktop` datoteke. Čeprav vpraša za korensko (`root`) geslo z uporabo &GUI; pogovornega okna, ga smatram bolj za lepilo med ukazno vrstico <-> &GUI;, kot pa za čist &GUI; program.

Ker `kdesu` ni več nameščen v `$(kf5-config --prefix)`/bin ampak v `kf5-config --pathlibexec` in zato ni na vaši `Poti`, imateza uporabo `$(kf5-config --path libexec)`kdesu`` za zagon `kdesu`.

## Uporaba &kdesu;

Uporaba &kdesu; je preprosta. Skladnja izgleda takole:

    kdesu -c  command -d -f  file -i  icon name -n -p  priority -r -s -t -u  user --noignorebutton --attach  winid

    kdesu &kde; Generic Options &Qt; Generic Options

Možnosti ukazne vrstice so razložene spodaj.

`-c `command``

- To določa ukaz za zagon kot root. Prenesti ga je treba v enem argumentu. Torej, če želite na primer zagnati novega upravljalnika datotek, bi ob pozivu vnesli: `$(kf5-config --path libexec)`kdesu `-c `&dolphin;````

`-d`

- Prikaži informacije za razhroščevanje.

`-f `file``

- Ta možnost omogoča učinkovito uporabo &kdesu; v datoteki `.desktop`. Pove &kdesu; za pregled datoteke, ki jo določa `datoteka`. Če v to datoteko lahko piše trenutni uporabnik, &kdesu; bo izvedel ukaz kot trenutni uporabnik. Če ni zapisljiv, ukaz se izvede kot uporabnik `user` (privzeto je to root).

  `datoteka` se ovrednoti takole: če je `datoteka` se začne z `/`, jemlje se kot absolutno ime datoteke. V nasprotnem primeru se vzame kot ime globalne &kde; konfiguracije.

`-i` `ime ikone`

- Določite ikono za uporabo v pogovornem oknu za geslo. Lahko navedete samo ime,brez podaljška.

  Na primer za zagon &konqueror; v načinu upravitelja datotek in pokaže ikono &konqueror; v pogovornem oknu za geslo:

      $(kf5-config --path libexec)kdesu  -i konqueror
      -c "konqueror --profile filemanagement"

`-n`

- Ne hranite gesla. To onemogoči hrani geslo potrditveno polje v pogovornem oknu za geslo.

`-p` `priority`

- Nastavite prednostno vrednost. Prioriteta je poljubno število med 0 in 100,kjer 100 pomeni najvišjo prioriteto, 0 pa najnižjo. Privzeto je 50.

`-r`

- Uporabi sprotno razporejanje.

`-s`

- Ustavi kdesu daemona. Poglejte v sec-password-keeping.

`-t`

- Omogoči terminalski izhod. To onemogoči shranjevanje gesel. Uporabno je predvsem za razhroščevanje; če želite poganjati program v konzolnem načinu, uporabite običajni `su`.

`-u` `user`

- Čeprav je najpogostejša uporaba &kdesu; za zagon ukaza kot skrbnik, vnesete lahko poljubno uporabniško ime in ustrezno geslo.

## Podrobnosti

### X avtentifikacija

Program, ki ga izvedete bo tekel pod korenskim (root) id in v splošnem ne bo imel avtoritete za dostop do vašega X zaslona. &kdesu; se temu izogne z dodajanjem avtentifikacijskega piškotka za vaš zaslon v začasno datoteko `.Xauthority`. Ko je ukaz končan, je ta datoteka odstranjena.

Če ne uporabljate X piškotkov, ste odvisni od samega sebe. &kdesu; bo to zaznal in ne bo dodal piškotka, vendar pa boste morali zagotoviti, da ima root dovoljen dostop do vašega zaslona.

### Vmesnik za `su`

&kdesu; uporablja sistemski `su` za dosego privilegijev. V tem odstavku bom razložil podrobnosti, kako &kdesu; to naredi.

Ker nekatere izvedbe `su` (&ie;. tista iz&RedHat;) ne želi brati gesla iz `stdin`,&kdesu; ustvari par pty/tty in izvede `su` z njimstandardni datotečni deskriptorji, povezani s tty.

Da izvede ukaz, ki ga je izbral uporabnik in ne interaktivno lupino, uporablja &kdesu; skupaj z `su` argument `-c`. Ta argument razume vsaka lupina, ki jo poznam, tako da bi to moralo delovati prenosljivo. `su` preda `-c` lupini in ta prevzame program. Zgled: `su `root -c `nek_program```.

Namesto izvajanja uporabnikovega ukaza direktno z `su`, izvede &kdesu; majhen programček imenovan kdesu_stub. Ta programček (teče kot uporabnik), zahteva nekaj podatkov od &kdesu; preko pty/tty kanala (njegov stdin in stdout) in potem izvede uporabniški program. Predane so naslednje informacije: X zaslon, X avtentifikacijski piškotek (če je dostopen), `PATH`in ukaz, ki naj bo pognan. Razlog, zakaj je uporabljen kratek programček je, da je X piškotek zasebna informacija in tako ne more biti predan na ukazni vrstici.

### Preverjanje gesel

&kdesu; bo preveril geslo ki ga vnesete in vrnil sporočilo o napaki, če je napačno. Preverjanje je izvedeno s testnim programom: `/bin/true`. Če to uspe, je geslo smatrano kot pravilno.

### Ohranjanje gesel

Za vaše udobje ima &kdesu; izvedeno možnost Obdrži geslo. Če se zanimate za varnost, potem morate prebrati ta odstavek.

Dovoljenje &kdesu;, da si zapomni gesla odpre (majhno) varnostno luknjo v vašem sistemu. Jasno je, da &kdesu; ne dovoli nikomur razen vašemu uporabniškemu id da uporablja gesla, vendar pa, če je to narejeno brez previdnosti, lahko zniža `root`-ov varnostni nivo na uporabniškega. Heker, ki bi vdrl v vaš račun, bi dobil korenski (`root`) dostop. kdesu; poskuša to preprečiti. Varnostna shema, ki jo uporablja je, vsaj po mojem prepričanju, razumno varna in je razložena tukaj.

&kdesu; uporablja deamona, imenovanega kdesud. Ta posluša &UNIX;-ov socket v `/tmp` za ukazi. Način socketa je 0600, tako da se nanj lahko priključi le vaš uporabniški id. Če je shranjevanje gesel omogočeno, kdesu; izvede ukaze skozi ta deamon. Ukaze in korensko (`root`) geslo zapiše v socket in deamon izvede ukaz z uporabo `su`, kot je opisano prej. Po tem ukaz in geslo nista zavržena. Namesto tega sta shranjena za določen čas. To je časovna vrednost iz krmilnega modula. Če se v tem času pojavi nova zahteva klientu ni treba dostaviti gesla. Da prepreči hekerjem, ki so vdrli v vaš račun, krajo gesel (na primer z prilepljenjem razhroščevalnika), je deamon nameščen kot set-group-id nogrup. To bi moralo preprečiti vsem normalnim uporabnikom (vključno z vami) da bi dobili gesla od kdesud procesa. Prav tako deamon postavi spremenljivko `DISPLAY` na vrednost, ki jo je imela ob zagonu. Edina stvar, ki jo lahko heker naredi, je da na vašem zaslonu izvede program.

Šibko mesto v tej shemi je, da programi, ki jih izvajate verjetno niso pisani z varnostjo v mislih (kot setuid `root` programi). To pomeni, da imajo morda prelitja medpomnilnika (buffer overruns) ali druge težave in jih lahko heker izkoristi.

Uporaba možnosti shranjevanja gesel je trgovina med varnostjo in udobjem. Spodbujam vas, da razmislite o tem in se odločite zase, ali to želite uporabljati ali ne.

## Avtor

&kdesu;

Copyright 2000 &Geert.Jansen;

&kdesu; je napisal &Geert.Jansen;. Nekako temelji na Pietru Igliu &kdesu;, različica 0.3. S Pietrom sva se dogovorila, da bom vzdrževal ta program v prihodnosti.

Avtor je dosegljiv po e-pošti na &Geert.Jansen.mail;. prosim sporočite mi vse napake, ki jih najdete, da jih lahko popravim. Če imate predlog, mi to brez zadržkov sporočite.

Prevod: Andrej Vernekarandrej.vernekar@moj.net

&underFDL; &underArtisticLicense;