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.
141 lines
3.9 KiB
141 lines
3.9 KiB
13 years ago
|
<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>
|
||
|
|