<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 <acronym
>KDE‑a</acronym
> 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 <acronym
>KDE‑a</acronym
> 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>
