Блокування та розблокування з диска USB (pendrive)


15

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

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

Наперед дякую.


2
Пам’ятайте, що клонування USB-накопичувача є тривіальним завданням, навіть якщо ви перевіряєте серійний номер.
Оллі

Відповіді:


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>*
    

6

В

/etc/udev/rules.d/

можна написати сценарій

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

де PPPP і VVVV - значення, які можна отримати lsusb.

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

Це вразливо, якщо хтось інший отримає доступ до палиці, звичайно.

Сценарій міг би далі дивитись щохвилини, чи все-таки палиця встановлена, а чи ні - фіксується.


2
У вашому правилі повинно бути ACTION == add. Крім того, навіщо ви щохвилини дивитесь, чи є палиця? Просто запустіть ACTION ==, видаліть і заблокуйте екран, коли стик зникає. Також слід додати в правило серійний номер палички та UUID розділу.
Маттіас Урліхс

3

Дякую за Вашу пропозицію. Я написав простий скрипт, використовуючи команду lsusb і ввівши систему -> настройки-> програми запуску. Сценарій такий:

#! / бін / ш
# Сценарій для автоматичного блокування та розблокування комп'ютера, коли мій usb pendrive буде видалений

LSUSB = `який lsusb`

якщо [-z $ LSUSB]; потім
    echo "Не знайдено команди lsusb. Вихід із екрана .. \ n"
    вихід 56
фі


поки:
робити
    сон 3
    відлуння "Біг у циклі"
    # Перевірте USB-накопичувач

    USB = `lsusb | grep Logitech`

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

    # USB-пристрій не знайдено
    # Перевірте, чи працює заставка чи ні
    # якщо не працює, тоді запустіть заставку
    gnome-screensaver-command - активувати


зроблено

вихід 0
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.