PolicyKit
PolicyKit (lyh. polkit) on järjestelmä, joka mahdollistaa käyttöoikeuksien hallinnan toimintokohtaisesti vastakohtana tavanomaiselle menetelmälle, jossa koko prosessia ajetaan laajennetuilla oikeuksilla. Perinteisesti esimerkiksi paketinhallintaohjelmat on kokonaisuudessaan ajettu pääkäyttäjän oikeuksilla esimerkiksi su:ta tai sudoa hyödyntäen. PolicyKitiä käyttävä paketinhallintatyökalu voidaan se sijaan käynnistää tavallisen käyttäjän oikeuksilla, ja salasanaa (autentikointia) pyydetään vain silloin, kun ollaan suorittamassa jotakin erityisesti sitä vaativaa toimintoa, kuten uusien pakettien asennusta.
Toimintaperiaate
Käytettäessä PolicyKitiä pääkäyttäjän oikeuksia vaativan ohjelmiston toiminnot on jaettu kahteen osaan, ilman käyttäjälle näkyvää käyttöliittymää toimivaan taustakomponenttiin (mekanismi) jota ajetaan pääkäyttäjän oikeuksilla sekä käyttöliittymään, jota ajetaan tavallisen käyttäjän oikeuksilla. Taustakomponentti jakautuu vuorostaan itse toimenpiteen suorittavaan osaan sekä PolicyKit-kirjastoon (libpolkit), joka huolehtii autentikoinnista käyttäen apuna esimerkiksi PAMia. Kun käyttöliittymä pyytää taustakomponentilta tietyn toimenpiteen suorittamista, analysoi taustakomponentti pyyntöä ja pyytävän prosessin tietoja, ja päättää sen pohjalta, voiko se toteuttaa pyynnön vai ei.
Tiedot siitä, millaiset pyynnöt tulisi hyväksyä, on tallennettu hakemiston /usr/share/PolicyKit alle tallennettuihin XML-muotoisiin asetustiedostoihin. Pyyntö voidaan määritellä joko suoraan hyväksyttäväksi (yes) tai hylättäväksi (no) tai sitten käyttäjältä voidaan pyytää joko oman (auth_self) tai pääkäyttäjän salasanan (auth_admin) syöttämistä. Autentikointi voidaan jättää voimaan joko tietyksi ajaksi (kellonaika tai prosessin elinaika) tai pysyvästi. Omia sääntöjä voi tallentaa asetustiedostoon /etc/PolicyKit/PolicyKit.conf.
Käyttöliittymät
Komentorivillä PolicyKitiin rekisteröityjä toimenpiteitä voi hallita komennolla polkit-action, autentikoinnin hallinta onnistuu komennolla polkit-auth ja asetustiedostojen syntaksin voi tarkistaa komennolla polkit-config-file-validate.
PolicyKitille löytyy myös graafisia käyttöliittymiä, kuten PolicyKit-gnome ja PolicyKit-kde. Ne jakautuvat kahteen osaan, asetusohjelmaan, jolla pääkäyttäjä voi mukauttaa PolicyKit-sääntöjä sekä autentikoinnin hallintaan tarkoitettuun ohjelmaan ("salasanaruutu") jota PolicyKitiä käyttävien ohjelmien on mahdollista hyödyntää toiminnoissaan (vältytään saman toiminnon ohjelmoimiselta erikseen joka ohjelmaa varten).