&kppp; in vprašanja varnostiTa razdelek je v glavnem za superuporabnike (root), 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).Omejevanje dostopa do &kppp;Sistemski administrator bo mogoče želel omejiti dostop, komu je dovoljeno uporabljati &kppp;. Za to obstajata dva načina:Omejevanje dostopa z dovoljenji za skupineUstvarite novo skupino (mogoče jo boste hoteli poimenovati dialout ali podobno), dodajte vse uporabnike, ki naj bi imeli dovoljenje za uporabo &kppp;-ja v to skupino in vtipkajte:#chown/opt/kde/bin/kppp#chmod/opt/kde/bin/kpppTukaj se privzame, da je bil &kde; nameščen v /usr/local/kdein vaša nova skupina se imenuje dialout.Omejevanje dostopa na &kppp;-jev načinPreden se karkoli naredi, &kppp; preveri, če obstaja datoteka imenovana /etc/kppp.allow. Če ta datoteka obstaja, bodo SAMO uporabniki imenovani v tej datoteki imeli dovoljenje za klicanje. Ta datoteka mora biti berljiva vsakemu uporabniku (seveda NE zapisljiva). Prepoznana so samo imena s katerimi se uporabniki prijavijo, zato ne morete uporabiti UID-jev v tej datoteki. Tukaj je kratek primer:
# /etc/kppp.allow
# comment lines like this are ignored
# as well as empty lines
fred
karl
daisy
V zgornjem primeru samo uporabniki fred, karl in daisy lahko kličejo, kot tudi vsak uporabnik z UID nastavljen na 0. Zato vam ni potrebno postaviti uporabnika root v to datoteko.&kppp; ima nastavljen SUID bit. Kaj pa varnost?Navidezno je nemogoče napisati program za klicanje brez SUID bita, ki je istočasno varen in preprost za uporabo za neizkušene uporabnike. &kppp; odgovarja na varnostna vprašanja z naslednjo strategijo:Takoj ko se program zažene, se &kppp; razveji.Glavni proces (master process) (kateri skrbi za vse GUI stvari, uporabniško medsebojno delovanje in podobno) takoj za tem prekine SUID način in teče z navadnimi uporabniškimi privilegiji.Podrejeni proces (slave process) ohrani svoje privilegije in je odgovoren za akcije, ki potrebujejo privilegije root-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.Glavni in podrejeni proces komunicirata s standardnim &UNIX; IPC.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.