Блокировка и разблокировка с USB-диска (pendrive)

15

Есть ли какая-нибудь программа для блокировки и разблокировки моего компьютера с Ubuntu с помощью флешки?

Например, когда я вынимаю флешку, компьютер автоматически блокируется, а когда я вставляю флешку, компьютер автоматически разблокируется.

Заранее спасибо.

Прабин Дахал
источник
2
Помните, что клонирование флешки является тривиальной задачей, даже если вы проверите серийный номер.
Олли

Ответы:

10

Я знаю, что это ужасно поздний ответ, просто подумал, что он может помочь будущим читателям. Я разместил ответ на Блокировка с USB-накопителя

Ну, модуль под названием PAM (Pluggable Authentication module) может быть настроен для удовлетворения ваших потребностей. На linuxconfig доступна красивая статья, подробно описывающая это.

Шаги:

  1. Установить PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Добавить устройство USB в конфигурацию PAM

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Выберите громкость и « Y », чтобы сохранить

  4. Определить пользователя для аутентификации PAM

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Выберите и « Y », чтобы сохранить

  6. Настроить PAM

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Добавьте строку ниже и сохраните

    auth    sufficient      pam_usb.so
    
  8. Проверьте подлинность PAM

    $ su ubuntu-user
    
  9. Блокировка при отключении

    $ sudo gedit /etc/pamusb.conf
    
  10. Измените блок «пользовательский», чтобы он выглядел так:

    <user id="ubuntu-user"> 
          <device> 
                  my-usb-stick 
          </device> 
          <agent event="lock">gnome-screensaver-command -l</agent> 
          <agent event="unlock">gnome-screensaver-command -d</agent> 
     </user>*
    
Fr0zenFyr
источник
6

В

/etc/udev/rules.d/

Вы можете написать сценарий

SUBSYSTEM=="usb", SYSFS{idProduct}=="PPPP", SYSFS{idVendor}=="VVVV", RUN+="/usr/sbin/usb-locking"

где PPPP и VVVV - значения, которые вы можете извлечь lsusb.

Каждый идентичный продукт будет соответствовать, но USB-блокировка может смонтировать устройство и посмотреть на сам диск для дальнейшей легитимации - некоторый файл, некоторый байт-код там, дата ...

Конечно, это уязвимо, если кто-то еще получает доступ к флешке.

Скрипт может дополнительно проверять каждую минуту, установлен ли флешка, и блокировать, если нет.

Пользователь неизвестен
источник
2
Ваше правило должно иметь действие == добавить. Кроме того, зачем вам каждую минуту смотреть, есть ли там палка? Просто нажмите на ACTION == удалить и заблокировать экран всякий раз, когда палка исчезает. Вы также должны добавить серийный номер флешки и UUID раздела в правило.
Матиас Урлихс
3

Спасибо за ваше предложение. Я написал простой скрипт, использующий команду lsusb, и поместил в систему -> настройки -> запуск приложений. Сценарий выглядит следующим образом ..

#! / Bin / ш
# Скрипт для автоматической блокировки и разблокировки компьютера, когда мой USB-Pendrive удаляется

LSUSB = `which lsusb`

если [-z $ LSUSB]; тогда
    echo "Команда lsusb не найдена. Выход .. \ n"
    выход 56
фи


пока :
делать
    спать 3
    эхо "Бег в петле"
    # Проверьте USB-накопитель

    USB = `lsusb | grep Logitech`

    if [-n "$ {USB}"]; тогда
        echo "USB-устройство: Transcend found"
        # найти и убить любую найденную заставку.
        gnome-screensaver-command --deactivate
        Продолжить
    фи

    # USB-устройство не найдено
    # Проверьте, работает ли заставка или нет
    # если не работает то запусти заставку
    gnome-screensaver-command --activate


сделано

выход 0
Прабин Дахал
источник