Хочется PAM-модуль, который читал бы сериализуемый текст из сокета и, в зависимости от данных в нём, принимал решение о предоставлении доступа. Конкретно сейчас хотелось бы с помощью него запилить двухфакторную авторизацию при помощи RFID и Bluetooth ключа. RFID-сканер будет подключен к док-станции ноутбука, Bluetooth-ключ - это мой телефон. Сканировать я собираюсь свой рабочий пропуск. Физика процесса такова: в фоне висит демон, который ждёт токен из /dev/ttyUSB0. После того, как токен получен, демон запрашивает у hcitool находящиеся поблизости MAC-адресы Bluetooth, и если среди них есть адрес моего телефона, то первый токен(пропуск) отсылается в сокет PAM-модуля. Далее уже происходит верификация на стороне модуля и, в зависимости от результата, выдаётся либо PAM_SUCCESS, либо PAM_AUTH_ERR.
Для чего абстракция через сокет? Для того, чтобы можно было с лёгкостью менять способ получения первого токена(например, посредством скана QR-кода веб-камерой).
Can I haz?
P.S.: написать модуль я и сам могу. Но мало ли, вдруг готовые решения есть.