20080225

debian и pamusb аутентификация

навеяно этой заметкой
делал по инструкции
скачал по ссылке последний релиз.
как полагается, распаковал его в /usr/src/
со сборкой deb-пакета решил не заморачиваться, установить «по-грязному».
посмотрев на ошибки в выводе make, сделал вывод, что не хватает libhal-storage-dev.
с этим пакетом все замечательно собралось и установилось.
добавил флэшку:
$ sudo pamusb-conf --add-device MojaFleshka
добавил себя, привязав к уже описанной флэшке:
$ sudo pamusb-conf --add-user $USER

проверил. вроде как работает. дальше начинается рихтовка.

во-первых, жутко не понравилось, что флэшка автоматически монтируется после вставки (не люблю я этих автомаунтов). и, главное, так и висит смонтированной. что, как понимаете, чревато…
после некоторых разбирательств добавил в секцию <configuration> файла /etc/pamusb.conf строчку <option name="one_time_pad">false</option>.
стало, конечно, менее секурно — не проверяется ключ, записанный на флэшке в каталог .pamusb/ (когда я делал --add-device). ну, думаю, производителя, модели и идентификатора флэшки будет достаточно. чай не в кгб работаю.

во-вторых, захотелось воспользоваться pamusb-agent-ом. чтоб при вытаскивании флэшки экран блокировался, при вставке — соответственно, блокировка снималась.
началось с того, что агент при запуске ругался на отсутствие описания elementtree.ElementTree.
небольшое гугление и чесание в затылке (освоение python-а пока только в планах) натолкнуло на мысль поставить пакет python-elementtree. помогло.
в примере приводится использование gnome-screensaver-command. у меня таковая отсутствует, в любимом icewm-е пользуюсь классическим xlock. вот его-то вызов и решил прикручивать.
в секции <user>, относящейся ко мне, добавил строчки:
<agent event="lock">xlock -mode blank</agent>
<agent event="unlock">killall xlock</agent>
killall-ом пришлось воспользоваться потому, что не нашел у xlock ничего подобного параметру unlock.
проверяю — не работает. включаться заставка-то включается, а вот выключаться не хочет.
опять серия экспериментов. оказалось, что агент ожидает, что команда, закрепленная за событием lock, вернет управление обратно. а xlock этого, к сожалению, не делает. и жутко ругается на &, который я попробовал дописать в конец команды. ну что ж, быстренько накатал в ~/bin/ файлик следующего содержимого:
#!/bin/bash
xlock -mode blank &
и заменил вызов xlock-а на вызов этого скриптика.
уря. заработало.
последний штирх — добавил строчку
pamusb-agent --daemon &>/dev/null
в ~/.icewm/startup. чтоб при загрузке сеанса агент сразу стартовал.

p.s. сразу выявился один минус — я частенько отхожу от компьютера и столь же частое дергание флэшки не есть хорошо. пора разживаться bluetooth-адаптером и, воспользовавшись BlueProximity, задействовать неиспользуемый пока bluetooth в мобилке.

Комментариев нет: