Tag: PolicyKit

  • [Ratkaisu] Inklusiivinen käyttöoikeustason kohotus PAM USB:n avulla

    Lähtökohta
    Pakettienhallinnassa pamusb-tools ja libpam-usb ovat asennettuna. Olen määritellyt PAM USB:n avulla tunnistautumismenetelmäkseni USB-porttiin kytketyn muistitikun.
    Ongelma
    Turvallisuuden vuoksi haluan sulkea USB-muistitikulla tunnistautumisen oletusarvoisesti pois käytöstä, ja määritellä sen erikseen käyttöönotetuksi niiden palveluiden osalta, joissa haluan sitä hyödyntää: järjestelmän asetusten tekemisen ja ylläpitotöiden vaatiman oikeustason kohotuksen yhteydessä.
    Ratkaisu
    Määrittelen /etc/pamusb.conf -tiedostoni alussa seuraavanlaisen osion:

    <defaults>
      <option name="enable">false</option>
    </defaults>

    Kun olen tallentanut tiedostoon tekemäni muutokset, muistitikulla tunnistautuminen on oletusarvoisesti pois käytöstä.
    Määrittelen sen jälkeen hieman alempana seuraavanlaisen osion:

    <services>
      <service id="sudo">
        <option name="enable">true</option>
      </service>
      <service id="gksudo">
        <option name="enable">true</option>
      </service>
      <service id="polkit">
        <option name="enable">true</option>
      </service>
    </services>

    Kun olen tallentanut tiedostoon tekemäni muutokset, USB-portissa oleva muistitikku riittää tunnistautumiseksi järjestelmän asetusten tekemisen ja ylläpitotöiden vaatiman oikeustason kohotuksen yhteydessä. Sen sijaan esimerkiksi sisäänkirjautuminen ja näytön lukituksen avaaminen vaativat edelleen salasanan kirjoittamisen.

    Huomautuksia
    • Tämä ratkaisu on sinänsä varsin triviaali sovellus PAM USB:n asetusten tekemisen ohjeista, mutta muiden muassa Verkko-ylläpitosovelluksen käyttäjän tunnistamisessa käyttämään PolicyKitiin liittyvää palvelun nimeä ei löytynyt suoraan annettuna mistään, joten päätin kirjata sen ylös tähän, vaikka sekin on sinänsä varsin helppo päätellä.
    • Palveluiden nimien löytämisessä on avuksi /var/log/auth.log -tiedosto. Kun muistitikulla tunnistautumisen sallii tilapäisesti oletusarvoisesti kaikkialla, tiedostoon kirjautuu halutun palvelun käytön yhteydessä seuraavanlainen rivi:
      Jun  3 10:30:20 shuttle-xpc pam_usb[17130]: Authentication request for user "jani" (polkit)

      Rivillä käyttäjätunnuksen perässä, suluissa oleva merkkijono on palvelun nimi.

    • Yllä mainittujen osioiden lisäksi olen määritellyt asetustiedostossa USB-muistitikun tunnistautumismenetelmäksi ainoastaan omalla käyttäjätunnuksellani, seuraavanlaisella osiolla:
      <users>
        <user id="jani">
          <device>
            MicroMemory
          </device>
        </user>
      </users>

      Tämä vaatii luonnollisesti asetustiedostoon lisäksi MicroMemory-nimisen määrittelyn itse muistitikulle.