Все как у ФСБ, вынул флешку — рабочий стол заблокирован, вставил обратно — стол разблокирован! USB ключ делаем из самой обычной флешки, а специальный модуль в нашей системе, будет ответственен за проверку каждого при монтированного устройства, на предмет определения именного нашего ключа, по особым признакам, таким как имя, серийный номер, модель, а также пару килобайт рандомной информации, хранящейся на ключе. Потеряли ключ!? Ну и в рот его ногой, зашли по паролю, вставили новую флешку и перепрограммировали замок. Как вы уже поняли, мы продолжаем линейку статей: Компьютер администратора
На некоторых вещах я подробно останавливаться не буду, если вам что-то не понятно, значит вы не читали предыдущую статью, где я все подробно рассказывал. Повторятся от статьи к статье я не хочу.
Вот как это выглядит:
Устанавливаем нужные нам два пакета, лучше все делать из терминала суперпользователя:
apt-get install libpam-usb pamusb-tools
Теперь нам нужно добавить нашего пользователя в группу plugdev
adduser ВАШ_ЛОГИН plugdev
Вставляем любую флешку, по идее она у нас должна автоматически при монтироваться, нужно ее открыть и поглядеть имя, но если она у вас одна, то это не обязательно, желательно чтобы других usb устройств не было, выполняем команду:
pamusb-conf —add-device ЛЮБОЕ_ИМЯ
Смотрим, действительно ли это наша флешка, если да, то нажимаем «y». Теперь нужно добавить пользователя к данному ключу:
pamusb-conf —add-user ВАШ_ЛОГИН
Теперь будем проверять насколько верно было проделано все что выше, для это вводим команду:
pamusb-check ВАШ_ЛОГИН
Если все хорошо, то вы должны увидеть пять строчек с зелеными звездочками, как на скриншоте ниже:
Сейчас нам нужно pamusb добавить в список модулей аутентификации вашего пользователя. Сделать это можно в файле /etc/pam.d/common-auth, для этого давайте откроем его так же через терминал в редакторе nano:
nano /etc/pam.d/common-auth
Нам нужно найти строчку auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass и перед этой строчкой, выше добавить auth sufficient pam_usb.so, сохраняем Ctrl+O, Enter, и закрываем Ctrl+X
Если в той строчке за место sufficient написать required, то доступ будет осуществляться только по usb ключу, я думаю так делать не стоит, мало ли глюков каких с портами или тупо потеря ключа, и как правило все это в самый неподходящий момент.
Лично для меня pamusb, это путь быстрой блокировки\разблокировки моего ПК, но не полноценная замена пароля. Крайне удобно если вы, к примеру, носите свой ноутбук на работу в офис, вышли покурить — вытащили ключ, пк заблокировался, пришли вставили ключ, он снова ожил, сидим работаем!
Теперь нам нужно отредактировать файл /etc/pamusb.conf
nano /etc/pamusb.conf
Ищем блок <!— User settings —>, спускаемся в самый низ, там после примеров, мы увидим <user id=»ВАШ_ЛОГИН»><device>ИМЯ_КЛЮЧА</device>Тут до тегов <user></users> нужно вставить две строчки:
<agent event=»lock»>xscreensaver-command -lock</agent>
<agent event=»unlock»>xscreensaver-command —deactivate</agent>
Сохраняем Ctrl+O, Enter, Закрываем Ctrl+X. Давайте остановим X-server — клавиши Alt+Ctrl+F1, и снова зайдем, логин, пароль, команда startx
Теперь нам нужно запустить агента usb, делаем это под обычным пользовательским терминалом:
pamusb-agent
Все готово, проверяем. Вытаскиваем флешку — экран заблокировался, видим заставку, вставляем обратно — все оживает! Если у вас все работает, добавляем агента в автозагрузку, для этого из терминала суперпользователя редактируем файл:
nano /etc/rc.local
/bin/su ВАШ_ЛОГИН -c pamusb-agent
При включении компьютера, доступ к операционке будет без этого юсб-ключа? Или данные настройки блокируют доступ к уже включенному компу по примеру:
«если вы, к примеру, носите свой ноутбук на работу в офис, вышли покурить — вытащили ключ, пк заблокировался, пришли вставили ключ, он снова ожил, сидим работаем!»??