&kppp; in vprašanja varnosti Ta 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 skupine Ustvarite 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/kppp Tukaj 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čin Preden 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 <acronym>SUID</acronym> 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.