<?xml version="1.0" ?>
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
"dtd/kdex.dtd" [
  <!ENTITY kappname "&kdesu;">
  <!ENTITY package "kdebase">
  <!ENTITY % addindex "IGNORE">
  <!ENTITY % Danish "INCLUDE"
> <!-- change language only here -->
]>

<book lang="&language;">
<bookinfo>

<title
>&kdesu;-håndbogen</title>

<authorgroup>
<author
>&Geert.Jansen; &Geert.Jansen.mail;</author>
&erik.kjaer.pedersen.role; 
</authorgroup>

<copyright>
<year
>2000</year>
<holder
>&Geert.Jansen;</holder>
</copyright>

<legalnotice
>&FDLNotice;</legalnotice>

<date
>2005-06-07</date>
<releaseinfo
>1.00.00</releaseinfo>


<abstract
><para
>&kdesu; er en grafisk forende for &UNIX;-kommandoen <command
>su</command
>.</para
></abstract>

<keywordset>
<keyword
>KDE</keyword>
<keyword
>su</keyword>
<keyword
>kodeord</keyword>
<keyword
>root</keyword>
</keywordset>

</bookinfo>

<chapter id="introduction">
<title
>Indledning</title>

<para
>Velkommen til &kdesu;! &kdesu; er en grafisk forende &UNIX;-kommandoen <command
>su</command
> for K-desktopmiljøet. Den tillader dig at køre et program som en anden bruger ved at angive kodeordet for denne bruger. &kdesu; er ikke et priviligeret program; det bruger systemets <command
>su</command
>.</para>

<para
>&kdesu; har en ekstra egenskab: den kan huske kodeord for dig. Hvis du bruger denne egenskab, behøver du kun at indtaste kodeordet én gang for hver kommando. Se <xref linkend="sec-password-keeping"/> for yderligere information om dette og en sikkerhedsanalyse.</para>

<para
>Det er meningen at dette program skal startes fra kommandolinjen eller fra <filename
>.desktop</filename
>-filer. Selvom den beder om <systemitem class="username"
>root</systemitem
>'s kodeord ved brug af en &GUI;-dialog, betragter jeg det mere som kommandolinje &lt;-&gt; &GUI;-lim end som et rent &GUI;-program.</para>

</chapter>

<chapter id="using-kdesu">
<title
>Brug af &kdesu;</title>

<para
>Brug af &kdesu; er nemt. Syntaksen er sådan:</para>

<cmdsynopsis
><command
>kdesu</command
> <group choice="opt"
><option
>-c</option
></group
> <group choice="opt"
><option
>-d</option
></group
> <group choice="opt"
><option
>-f</option
> <replaceable
> file</replaceable
></group
> <group choice="opt"
><option
>-i</option
> <replaceable
> icon name</replaceable
></group
> <group choice="opt"
><option
>-n</option
></group
> <group choice="opt"
><option
>-p</option
> <replaceable
> priority</replaceable
></group
> <group choice="opt"
><option
>-r</option
></group
> <group choice="opt"
><option
>-s</option
></group
> <group choice="opt"
><option
>-t</option
></group
> <group choice="opt"
><option
>-u</option
> <replaceable
> user</replaceable
></group
> <group choice="opt"
><option
>--nonewdcop</option
></group
> <group
><arg choice="req"
><replaceable
>command</replaceable
> <arg
><replaceable
>arg1</replaceable
></arg
> <arg
><replaceable
>arg2</replaceable
></arg
> <arg rep="repeat"
><replaceable
></replaceable
></arg
></arg
></group
> </cmdsynopsis>
<cmdsynopsis
><command
>kdesu</command
> <arg choice="opt"
>Generiske &kde;-flag</arg
> <arg choice="opt"
>Generiske Qt-flag</arg
> </cmdsynopsis>

<para
>Kommandolinje-flag bliver forklaret nedenfor.</para>

<variablelist>
<varlistentry>
<term
><option
>-c <replaceable
>program</replaceable
></option
></term>
<listitem
><para
>Dette angiver programmet der skal køres som root. Det skal gives som et argument. Så hvis, for eksempel, du ønsker at starte en ny fulhåndtering, vil du skrive ved prompten: <userinput
><command
>kdesu <option
>-c <replaceable
>kfm -sw</replaceable
></option
></command
></userinput
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-d</option
></term>
<listitem
><para
>Vis fejlinformation.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-f <replaceable
>fil</replaceable
></option
></term>
<listitem
><para
>Dette tillader effektiv brug af &kdesu; i <filename
>.desktop</filename
>-filer. Det beder &kdesu; om at undersøge filen angivet ved <parameter
>file</parameter
>. Hvis denne fil er skrivbar for nuværende bruger, vil &kdesu; køre kommandoen som nuværende bruger. Hvis dette ikke er tilfældet vil den køres som brugeren <parameter
>bruger</parameter
> (som standard root).</para>
<para
><parameter
>fil</parameter
> bliver evalueret sådan her: hvis <parameter
>fil</parameter
> begynder med et <literal
>/</literal
>, tages det som et absolut filnavn. Ellers tages det som navnet på en global &kde; indstillingsfil. For eksempel: for at indstille K skærmhåndteringen, <application
>kdm</application
>, må du skrive <command
>kdesu <option
>-c kdmconfig -f kdmrc</option
></command
></para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-i</option
> <replaceable
>ikonnavn</replaceable
></term>
<listitem
><para
>Angiv ikon at bruge i kodeordsdialogen. Du kan angive kun navnet, uden nogen filendelse.</para>
<para
>For eksempel for at køre <command
>kfmclient</command
> og vise &konqueror;s ikon i kodeordsdialog:</para>
<screen
><userinput
><command
>kdesu</command
>  <option
>-i konqueror</option
> <command
>kfmclient</command
></userinput
></screen>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>-n</option
></term>
<listitem
><para
>Husk ikke kodeordet. Dette deaktiverer <guilabel
>husk kodeord</guilabel
> afkrydsningsfeltet i kodeordsdialogen.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-p</option
> <replaceable
>prioritet</replaceable
></term>
<listitem>
<para
>Angiv prioritetsværdi. Prioriteten er et vilkårligt tal mellem 0 og 100, hvor 100 betyder højeste prioritet, og 0 betyder mindste. Standardværdien er 50.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><option
>-r</option
></term>
<listitem
><para
>Brug realtidsskemalægning</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><option
>-s</option
></term>
<listitem
><para
>Stands kdesu-dæmonen. Se <xref linkend="sec-password-keeping"/>.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><option
>-t</option
></term>
<listitem
><para
>Aktivér terminaluddata. Dette deaktiverer det at huske kodeordet. Det er stort set til fejlsøgningsformål; hvis du ønsker at køre et program i konsoltilstand, kan du i stedet bruge <command
>su</command
>-kommandoen.</para
> </listitem>
</varlistentry>
<varlistentry>
<term
><option
>-u</option
> <replaceable
> bruger</replaceable
></term>
<listitem
><para
>Selvom den almindeligste brug af &kdesu; er at køre et kommando som systemadministrator, kan du angive et hvilket som helst brugernavn og passende kodeord.</para>
</listitem>
</varlistentry>

</variablelist>

</chapter>

<chapter id="Internals">
<title
>Indre ting</title>

<sect1 id="x-authentication">
<title
>X-godkendelse</title>

<para
>Programmet du kører vil køre under roots bruger-id og vil generelt set ikke have ret til at få adgang til din X-skærm. &kdesu; kommer uden om dette ved at tilføje en godkendelses-cookie for din skærm til en midlertidig <filename
>.Xauthority</filename
>-fil. Efter kommandoen er afsluttet, bliver denne fil fjernet. </para>

<para
>Hvis du ikke bruger X-cookier må du klare dig selv. &kdesu; vil detektere dette og vil ikke tilføje en cookie men du vil blive nødt til at sørge for at root har lov til at få adgang til din skærm.</para>

</sect1>

<sect1 id="interface-to-su">
<title
>Grænseflade til <command
>su</command
></title>

<para
>&kdesu; bruger systemets <command
>su</command
> til at få privilegier. I dette afsnit, forklarer jeg detaljerne i hvordan &kdesu; gør dette. </para>

<para
>Idet nogle <command
>su</command
> implementeringer (&ie; den fra &RedHat;) ikke ønsker at læse kodeordet fra <literal
>stdin</literal
>, opretter &kdesu; et pty/tty-par og kører <command
>su</command
> med dens standard-filedescriptors forbundet til tty.</para>

<para
>For at køre den kommando som brugeren valgte, snarere end en interaktiv skal, bruger &kdesu; <option
>-c</option
> argumentet med <command
>su</command
>. Dette argument bliver forstået af enhver skal jeg kender til så det skulle virke overalt. <command
>su</command
> giver dette <option
>-c</option
>-argument til målbrugerens skal, og skallen kører så programmet. Eksempelkommando: <command
>su <option
>root -c <replaceable
>the_program</replaceable
></option
></command
>.</para>

<para
>I stedet for at udføre brugerkommandoen direkte med <command
>su</command
>, kører &kdesu; et lille stump program der hedder <application
>kdesu_stub</application
>. Denne stump (kørt som målbrugeren), beder om noget information fra &kdesu; over pty/tty-kanalen (stumpens stdin og stdout) og kører så brugerens program. Informationen der gives videre er:  X-skærmen, en X-godkendelses-cookie (hvis den er tilgængelig), <envar
>PATH</envar
> og kommandoen der skal køres. Grunden til at et stumpprogram bruges er at X-cookien er privat information og derfor ikke kan gives videre på kommandolinjen.</para>

</sect1>

<sect1 id="password-checking">
<title
>Kodeordskontrol</title>

<para
>&kdesu; vil tjekke det kodeord du indtastede og giver en fejlbesked hvis det ikke er korrekt. Denne tjekning gøres af et testprogram: <filename
>/bin/true</filename
>. Hvis dette program lykkes antages kodeordet at være rigtigt.</para>

</sect1>

<sect1 id="sec-password-keeping">
<title
>Huske kodeord</title>

<para
>For din behagelighed, implementerer &kdesu; en <quote
>husk kodeord</quote
>-egenskab. Hvis du er interesseret i sikkerhed, bør du læse denne paragraf.</para>

<para
>At tillade &kdesu; at huske kodeord åbner et (lille) sikkerhedhul i dit system. Naturligvis vil &kdesu; ikke tillade andre end dit bruger-id at bruge kodeordet, men, hvis det bliver gjort uforsigtigt, kan dette sænke <systemitem class="username"
>root</systemitem
>'s sikkerhedsniveau til det en normal bruger har (dig). En cracker der bryder ind på din konto, ville få <systemitem class="username"
>root</systemitem
>--adgang. &kdesu; forsøger at forhindre dette. Den sikkerhedsplan den bruger er , i det mindste efter min mening, rimelig sikker, og den forklares her.</para>

<para
>&kdesu; bruger en dæmon, der hedder <application
>kdesud</application
>. Dæmonen lytter til en &UNIX;-sokkel i <filename
>/tmp</filename
> for kommandoer. Sokkelens tilstand er 0600 så kun dit bruger-id kan forbinde til den. Hvis 'husk kodeord' er aktiveret, kører &kdesu; kommandoer gennem denne dæmon. Den skriver kommandoen og <systemitem class="username"
>root</systemitem
>'s kodeord til soklen og dæmonen kører kommandoen ved brug af <command
>su</command
>, som  tidligere beskrevet. Efter dette bliver kommandoen og kodeordet ikke smidt væk. I stedet for bliver de husket et specifikt tidsrum. Dette er 'udløb af tid'-punktet fra kontrolmodulen. Hvis en anden forespørgsel for den samme kommando kommer indenfor denne tidsperiode, bliver klienten ikkenødt til at angive kodeordet. For at holde crackere som måtte være brudt ind på din konto fra at stjæle kodeordet fra dæmonen (for eksempel, ved at tilknytte en fejlretter), er dæmonen installeret 'set-group-id nogroup'. Dette skulle forhindre alle normale bruger (inklusive dig) fra at få kodeord fra <application
>kdesud</application
>-processen. Dæmonen sætter også <envar
>DISPLAY</envar
>-miljøvariablen til den værdi den havde da den blev startet. Det eneste en cracker kan gøre er at køre et program på din skærm.</para>

<para
>Et svagt punkt i denne plan et at programmerne du kører formodentlig ikke er skrevet med hensyntagen til sikkerhed (såsom setuid- <systemitem class="username"
>root</systemitem
>-programmer). Dette betyder at de måske har 'buffer overruns' eller andre problemer og at en cracker kunne udnytte disse.</para>

<para
>Brugen af 'husk kodeord'-egenskab er en balancegang mellem sikkerhed og komfort. Jeg vil opmuntre dig til at tænke over det og selv bestemme om du ønske rat bruge det eller ej.</para>

</sect1>
</chapter>

<chapter id="Author">
<title
>Forfatter</title>

<para
>&kdesu;</para>

<para
>Ophavsret 2000 &Geert.Jansen;</para>

<para
>&kdesu; er skrevet af &Geert.Jansen;. Den er i nogen grad baseret på Pietro Iglio's &kdesu;, version 0.3. Pietro og jeg blev enige om at jeg ville vedligeholde dette program i fremtiden.</para>

<para
>Forfatteren kan nås gennem e-mail på &Geert.Jansen.mail;. Rapportér venligst fejl du finder til mig so jeg kan ordne dem. Hvis du har et forslag, så må du gerne kontakte mig.</para>
&underFDL; &underArtisticLicense; </chapter>

</book>
<!--
Local Variables:
mode: sgml
sgml-omittag: nil
sgml-shorttag: t
End:
-->

