You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
58 lines
3.8 KiB
58 lines
3.8 KiB
<chapter id="security">
|
|
<title>&kppp; in vprašanja varnosti</title>
|
|
|
|
<para>Ta razdelek je v glavnem za superuporabnike (<systemitem>root</systemitem>), ljudi s pomembnimi varnostnimi vprašanji ali za preprosto tehnično zainteresirane ljudi. Ni vam potrebno prebrati tega, če uporabljate &Linux; samo doma za vaše potrebe (čeprav se lahko naučite kaj novega, če to preberete).</para>
|
|
|
|
<sect1 id="security-restricting-access">
|
|
<title>Omejevanje dostopa do &kppp;</title>
|
|
|
|
<para>Sistemski administrator bo mogoče želel omejiti dostop, komu je dovoljeno uporabljati &kppp;. Za to obstajata dva načina:</para>
|
|
|
|
<sect2 id="security-group-permissions">
|
|
<title>Omejevanje dostopa z dovoljenji za skupine</title>
|
|
|
|
<para>Ustvarite novo skupino (mogoče jo boste hoteli poimenovati <systemitem>dialout</systemitem> ali podobno), dodajte vse uporabnike, ki naj bi imeli dovoljenje za uporabo &kppp;-ja v to skupino in vtipkajte:</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>Tukaj se privzame, da je bil &kde; nameščen v <filename class="directory">/usr/local/kde</filename>in vaša nova skupina se imenuje <systemitem>dialout</systemitem>.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 id="security-kppps-way">
|
|
<title>Omejevanje dostopa na &kppp;-jev način</title>
|
|
|
|
<para>Preden se karkoli naredi, &kppp; preveri, če obstaja datoteka imenovana <filename>/etc/kppp.allow</filename>. Če ta datoteka obstaja, bodo SAMO uporabniki imenovani v tej datoteki imeli dovoljenje za klicanje. Ta datoteka mora biti berljiva vsakemu uporabniku (seveda <emphasis>NE</emphasis> zapisljiva). Prepoznana so samo imena s katerimi se uporabniki prijavijo, zato ne morete uporabiti <acronym>UID</acronym>-jev v tej datoteki. Tukaj je kratek primer:</para>
|
|
|
|
<screen>
|
|
# /etc/kppp.allow
|
|
# comment lines like this are ignored
|
|
# as well as empty lines
|
|
|
|
fred
|
|
karl
|
|
daisy
|
|
</screen>
|
|
|
|
<para>V zgornjem primeru samo uporabniki <systemitem>fred</systemitem>, <systemitem>karl</systemitem> in <systemitem>daisy</systemitem> lahko kličejo, kot tudi vsak uporabnik z <acronym>UID</acronym> nastavljen na 0. Zato vam ni potrebno postaviti uporabnika root v to datoteko.</para>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="security-why-suid">
|
|
<title>&kppp; ima nastavljen <acronym>SUID</acronym> bit. Kaj pa varnost?</title>
|
|
|
|
<para>Navidezno je nemogoče napisati program za klicanje brez <acronym>SUID</acronym> bita, ki je istočasno varen in preprost za uporabo za neizkušene uporabnike. &kppp; odgovarja na varnostna vprašanja z naslednjo strategijo:</para>
|
|
|
|
<itemizedlist> <listitem> <para>Takoj ko se program zažene, se &kppp; razveji.</para> </listitem> <listitem> <para>Glavni proces (master process) (kateri skrbi za vse <acronym>GUI</acronym> stvari, uporabniško medsebojno delovanje in podobno) takoj za tem prekine <acronym>SUID</acronym> način in teče z navadnimi uporabniškimi privilegiji.</para> </listitem> <listitem> <para>Podrejeni proces (slave process) ohrani svoje privilegije in je odgovoren za akcije, ki potrebujejo privilegije <systemitem>root</systemitem>-a. Da ohranimo ta del varen, se tukaj ne uporabijo nobeni klici &kde; ali &Qt; knjižnic, ampak samo preprosti klici C knjižnic. Izvorna koda za ta proces je kratka (okrog 500 vrstic) in dobro dokumentirana, zato jo je lahko preveriti, če vsebuje varnostne luknje.</para> </listitem> <listitem> <para>Glavni in podrejeni proces komunicirata s standardnim &UNIX; <acronym>IPC</acronym>.</para> </listitem> </itemizedlist>
|
|
|
|
<para>Resnično hvala Harriju Portenu, da je napisal ta odlični del kode. Jaz sem mislil, da je nemogoče - on pa jo je napisal v enem tednu.</para>
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|
|
|