ID-kaarditarkvara Ubuntu guest kasutajaga
Sissejuhatus
Ubuntu on muutunud üsna populaarseks Linuxi operatsioonisüsteemiks, mida kasutatakse tihti avalikes internetipunktides, raamatukogudes, koolides ja muudes avalikes arvutites. Avaliku arvuti kasutamiseks on hea võimalus külalise (guest) konto, 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.
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.
Probleemi 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.
Võimalik lahendada sellise skriptiga:
- !/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