# Priročnik za &kdesu;

Geert
Jansen

    g.t.jansen@stud.tue.nl

Lauri
Watts

    lauri@kde.org

Pregled
Andrej
Vernekar

    andrej.vernekar@moj.net

Prevod
2000
Geert Jansen
&FDLNotice;
2002-01-18
1.00.00

&kdesu; je grafični vmesnik za &UNIX;-ov ukaz `su`.

KDE
su
password
root

## 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 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.

## Uporaba &kdesu;

Uporaba &kdesu; je preprosta. Skladnja izgleda takole:

          kdesu
          USER
          -n
          -t
          -q
          -d
          -f FILE
          -c

    	  COMMAND
    	  ARG1
    	  ARG2

          kdesu

    	-v
    	-h
    	-s

Možnosti ukazne vrstice so razložene spodaj.

`-c PROGRAM`

  To določa, da program teče kot root. Podan mora biti v enem argumentu. Če torej želite pognati nov datotečni upravljalnik morate v lupini vtipkati: ``kdesu `-c kfm -sw```

`-f FILE`

  Ta možnost omogoča učinkovito uporabo &kdesu; v `.desktop` datotekah. kdesu; namreč pove, da mora pregledati datoteko določeno z `FILE`. Če lahko to datoteko zapiše trenutni uporabnik bo kdesu; izvedel ukaz kot trenutni uporabnik. Če pa ni zapisljiva, je ukaz izveden kot uporabnik `USER` (privzeto kot root).

  `FILE` se obravnava takole: če se `FILE` (ime datoteke) prične z `/`, je obravnavano kot absolutno ime datoteke. Drugače pa je vzeto kot ime globalne &kde; nastavitvene datoteke. Naj podam primer: da nastavite K display manager, kdm, bi lahko uporabili `kdesu `-c kdmconfig -f kdmrc``

`-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`.

`-n`

  Ne shrani gesla. To onemogoči potrditveno polje Obdrži geslo v pogovornem oknu gesel.

`-q`

  Bodi tiho.

`-d`

  Prikaži informacije za razhroščevanje.

`-v`

  Izpiši informacijo o različici in končaj.

`-h`

  Izpiši nekaj pomoči.

`-s`

  Ustavi kdesu daemona. Poglejte v .

## Nastavitev

&kdesu; pride z nadzornim modulom imenovanim kcmkdesu. Najdete ga lahko v menuju K pod Nastavitve Uporabniški programi KDE su. Spremenite lahko naslednje stvari:

Echo Mode

  To je način, kako na zaslonu odmevajo znaki ki jih vtipkate. Možne izbire so: ena zvezda za znak, tri zvezde ali brez odmeva. Privzeto je to ena zvezda za znak.

Shranjevanje gesel

  &kdesu; lahko naročite da shranjuje gesla z odkljukanjem izbire Obdrži geslo. Če je ta označena, lahko vnesete časovno vrednost v tekstno polje pod njo. To določa (v minutah), kako dolgo se bo geslo shranilo. Privzeto je neshranjevanje gesel.

## 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 implementacije `su` (&npr; &RedHat;ova) nočejo brati gesla iz `stdin`, ustvari &kdesu; par pty/tty in izvede `su` z njegovimi standardnimi datotečnimi opisi (filedescriptors) povezanimi na 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 spisal Geert Jansen. Je nekako osnovan na kdesu;, Pierta Iglia, različice 0.3. S Pietrom sva se strinjala, da bom v prihodnosti ta program vzdreževal jaz.

Avtor je dosegljiv preko e-pošte g.t.jansen@stud.tue.nl. Prosim poročajte mi o vseh hroščih, ki jih najdete, tako, da jih lahko popravim. Če imate predloge, ne oklevajte in me kontaktirajte.

&underFDL; &underArtisticLicense;

## Namestitev

### Nalaganje

&install.intro.documentation;

### Prevajanje

&install.compile.documentation;