ID-kaarditarkvara Ubuntu guest kasutajaga

From ICO wiki
Revision as of 09:07, 16 December 2016 by Jvoolmaa (talk | contribs) (→‎Skript)
Jump to navigationJump to search

Sissejuhatus

Ubuntu on muutunud üsna populaarseks Linuxi operatsioonisüsteemiks, mida kasutatakse tihti avalikes internetipunktides, raamatukogudes, koolides ja muudes avalikes arvutites. Toiminguteks avalikus (või sõbra) arvutis on hea kasutada külalise (guest) kontot, mis salvestab kogu sessiooni info ja muud kasutaja andmed ainult ajutiselt ja ei vaja sisselogimiseks kasutajanime ega parooli. Probleemiks on osutunud aga ID-kaardi tarkvara mitte toimimine ning sellest lähtuvalt ID-kaardiga tehtavate toimingute sooritamine külalise konto all.

Probleemi olemus

Nimelt ei luba Ubuntu 14.04 ja 16.04 operatsioonisüsteemides kasutatav kerneli turvamoodul AppArmor juurdepääsu /run/pcscd/pcscd.comm failile. Kui tavaliselt määratakse õigusi kasutajatele, siis AppArmor võimaldab süsteemiadministraatoril määrata failide avamise, lugemise ja kirjutamise õigusi erinevate programmide jaoks. Juurdepääsu blokeerimine tähendab aga seda, et PC-SC Lite (mis võimaldab kaardilugejal ja arvutil suhelda) ja selle daemon pcscd ei hakka korrektselt tööle.

Selle kohta on esitatud ka bug report ent siiani pole muudatust operatsioonisüsteemi tasandil sisse toodud.

Lahendus

Kuna AppArmor töötab läbi erinevate profiilide, mis operatsioonisüsteemi käivitumisel sisse laetakse, on võimalik õigusi anda vastavat profiili muutes. Antud juhul on probleemiks Ubuntus vaikimisi kasutatava kuvahalduri lightdm külalise profiil. Lisades "/run/pcscd/pcscd.comm rw," rea faili nimega /etc/apparmor.d/lightdm-guest-session lõppu, on võimalik ID-kaardi tarkvara serveritega suhelda.


Skript

  1. !/bin/bash

if [ $1 == "--allow-guests" ] then

   file="/etc/apparmor.d/lightdm-guest-session"
   if [ -f "$file" ]
   then
       echo "/run/pcscd/pcscd.comm rw," | sudo tee -a /etc/apparmor.d/lightdm-guest-session
   fi

fi