<chapter id="security">
<title
><application
>KPPP</application
> i pitanja bezbednosti</title>

<para
>Ova sekcija je uglavnom namenjena superkorisnicima (<systemitem
>root</systemitem
>) s visokim bezbednosnim zahtevima, ili prosto zainteresovanima za tehniku. Nema potrebe da ovo čitate ako Linux koristite sami kod kuće, mada biste i tada mogli ponešto naučiti.</para>

<sect1 id="security-restricting-access">
<title
>Ograničavanje pristupa <application
>KPPP‑u</application
></title>

<para
>Administrator sistema može želeti da ograniči pristup, tj. odredi kome je dozvoljeno da koristi <application
>KPPP</application
>. Ovo se može postići na dva načina.</para>

<sect2 id="security-group-permissions">
<title
>Ograničenje pristupa preko grupnih dozvola</title>

<para
>Stvorite novu grupu (možete je nazvati npr. <systemitem
>dialout</systemitem
>) i stavite svakog korisnika kome treba da bude dozvoljeno korišćenje <application
>KPPP‑a</application
> u tu grupu. Zatim upišite u terminalu:</para>

<screen
><prompt
>#</prompt
> <userinput
><command
>chown</command
> <option
>root.dialout</option
> <filename
>/opt/kde/bin/kppp</filename
></userinput>
<prompt
>#</prompt
> <userinput
><command
>chmod</command
> <option
>4750</option
> <filename
>/opt/kde/bin/kppp</filename
></userinput
>
</screen>

<para
>Ovo pretpostavlja da je instalacija KDE‑a u <filename class="directory"
> /opt/kde/</filename
> i da ste grupu nazvali <systemitem
>dialout</systemitem
>.</para>

</sect2>

<sect2 id="security-kppps-way">
<title
>Ograničenje pristupa preko <application
>KPPP‑a</application
></title>

<para
>Pre nego što išta drugo uradi, <application
>KPPP</application
> proverava da li postoji fajl po imenu <filename
>/etc/kppp.allow</filename
>. Ako postoji, samo korisnici navedeni u njemu imaju pravo da pozivaju. Ovaj fajl mora svakome biti čitljiv (ali naravno <emphasis
>ne</emphasis
> i upisiv). Prepoznaju se samo korisnička imena, tj. ne možete koristiti UID‑ove u ovom fajlu. Evo kratkog primera:</para>

<screen
># /etc/kppp.allow
# Komentari poput ovog se ignorišu,
# kao i prazni redovi.

~|pera
laza
mara|
</screen>

<para
>U gornjem primeru, pozivanje je dozvoljeno samo korisnicima <systemitem
>pera</systemitem
>, <systemitem
>laza</systemitem
> i <systemitem
>mara</systemitem
>, kao i korisniku sa UID‑om 0 (te ne treba izričito da navodite <systemitem
>root</systemitem
> u fajlu).</para>

</sect2>

</sect1>

<sect1 id="security-why-suid">
<title
><application
>KPPP‑u</application
> je postavljen sUID? A bezbednost?</title>

<para
>Gotovo je nemoguće napisati birač brojeva bez sUID bita koji je i bezbedan i lak za korišćenje neiskusnim korisnicima. <application
>KPPP</application
> se nosi sa bezbednosnim problemima na sledeći način.</para>

<itemizedlist>
<listitem>
<para
>Odmah po pokretanju programa, <application
>KPPP</application
> se račva. </para>
</listitem>
<listitem>
<para
>Glavni proces, koji rukuje svim GUI postupcima (poput interakcije sa korisnikom), posle račvanja uklanja sUID stanje, nastavljajući rad sa ovlašćenjima običnog korisnika. </para>
</listitem>
<listitem>
<para
>Podređeni proces zadržava svoja ovlašćenja, i nadležan je za sve radnje koje zahtevaju korena ovlašćenja. Da bi se ovaj deo održao bezbednim, ne koristi se nijedan poziv iz biblioteke KDE‑a ili Qt‑a, već samo osnovni pozivi. Izvorni kod za ovaj proces je kratak (oko 500 redova) i dobro dokumentovan, tako da možete i sami potražiti bezbednosne rupe u njemu.</para>
</listitem>
<listitem>
<para
>Glavni i podređeni proces komuniciraju standardnim Unix IPC‑om.</para>
</listitem>
</itemizedlist>

<para
>Mnogo hvala <personname
><firstname
>Hariju</firstname
> <surname
>Portenu</surname
></personname
>, koji je napisao ovaj izvrsni kod. Smatralo se nemogućim, a on je to završio za nedelju dana. </para>

</sect1>

</chapter>
