Linux suteikia galimybę kaip papildomą saugumo priemonę naudoti usb laikmeną(tiek usb flash, tiek telefoną arba beleką kitą kas jungiasi prie usb).

Reikalingi paketai:
pam(yra oficialiose saugyklose)
pam_usb (yra AUR, arba galim imt tiesiai iš autoriaus: https://github.com/aluzzardi/pam_usb.git )

Naudojimas:

sudo pamusb-conf --add-device mano_transcend_usb

„mano_transcend_usb“ yra įrenginio vardas, ten galim rašyt beleką, svarbiausia, kad reikalui esant būtų galim žinot kuri tai laikmena.

Please select the device you wish to add.
* Using "JetFlash Transcend 2GB (4BJT7400)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sdd1 (UUID: C5xx-xxxx)" (only option)

Name		: mano_transcend_usb
Vendor		: JetFlash
Model		: Transcend 2GB
Serial		: 4Bxxxxxx
UUID		: C5xx-xxxx

Save to /etc/pamusb.conf ?
[Y/n] 

Spaudžiam „Y“, konfigūracija išsaugoma.

sudo pamusb-conf --add-user gymka

„gymka“ yra naudotojo vardas su kuriuo bus susieta ta usb laikmena. Jei ta laikmena susieta su keliais naudotojais – neveiks nei su vienu.

Naudojimas LXDM darbastalio tvarkyklėje:
Faile /etc/pam.d/lxdm

#%PAM-1.0
auth            requisite       pam_nologin.so
auth            required        pam_env.so
auth            required        pam_unix.so nullok
auth            optional        pam_mount.so
account         required        pam_unix.so
session         required        pam_limits.so
session         required        pam_unix.so
password        required        pam_unix.so
password        optional        pam_mount.so
-session optional pam_systemd.so

prieš

auth            required        pam_unix.so nullok

įrašom

auth      sufficient   pam_usb.so

gaunam

#%PAM-1.0
auth            requisite       pam_nologin.so
auth            required        pam_env.so
auth            sufficient      pam_usb.so
auth            required        pam_unix.so nullok
auth            optional        pam_mount.so
account         required        pam_unix.so
session         required        pam_limits.so
session         required        pam_unix.so
password        required        pam_unix.so
password        optional        pam_mount.so
-session optional pam_systemd.so

Dabar prijungus usb laikmeną(būtent tą), prisijungimo ekrane galima nevesti slaptažodžio ir būsite prijungti. Jei laikmena neprijungta teks įvesti slaptažodį. Jei eilutę „auth sufficient pam_usb.so“ pakeisim į „auth required pam_usb.so“ vien slaptažodžio nepakaks, norint prisijungti turės būti prijungta usb laikmena, o tada dar ir įvestas slaptažodis.

/etc/pam.d/lxdm failą skaito ir jo konfigūracija naudojasi tik LXDM, GDM naudoja failą /etc/pam.d/gdm. Kitos programos naudoja kitus failus, pvz. norint naudot usb prisijungimą su „su“ reikia tą eilutę įrašyti į failą /etc/pam.d/su ir taip toliau. Norint naudoti visur reikia paleisti mažduag tokią komandą:

sed -i 's/(auth.*pam_unix.so.*)/auth  sufficient  pam_usb.son1/' /etc/pam.d/*

ir bus pakeista visuose failuose, bus galima naudoti visoje sistemoje.

Galima susieti veiksmus su usb prijungimu/atjungimu, bet čia jau kita istorija…

Šaltinis: autoriaus svetainė https://github.com/aluzzardi/pam_usb/wiki/Getting-Started