Zablokuj i odblokuj z dysku USB (pendrive)

15

Czy jest jakiś program do blokowania i odblokowywania mojego systemu Ubuntu za pomocą dysku flash?

Na przykład po wyjęciu dysku flash USB komputer blokuje się automatycznie, a po włożeniu dysku flash komputer odblokowuje się automatycznie.

Z góry dziękuję.

Prabin Dahal
źródło
2
Pamiętaj, że klonowanie pamięci USB jest trywialnym zadaniem, nawet jeśli sprawdzasz numer seryjny.
Olli,

Odpowiedzi:

10

Wiem, że to strasznie późna odpowiedź, pomyślałem, że może pomóc przyszłym czytelnikom. Odpowiedzi zamieściłem na stronie Locking with USB drive

Moduł PAM (Pluggable Authentication module) można dostosować do własnych potrzeb. Dostępny jest piękny artykuł na temat linuxconfig, który szczegółowo to opisuje.

Kroki są następujące:

  1. Zainstaluj PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Dodaj urządzenie USB do konfiguracji PAM

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Wybierz głośność i „ Y ”, aby zapisać

  4. Zdefiniuj użytkownika dla autoryzacji PAM

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Wybierz i „ Y ”, aby zapisać

  6. Skonfiguruj PAM

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Dodaj wiersz poniżej i zapisz

    auth    sufficient      pam_usb.so
    
  8. Przetestuj autoryzację PAM

    $ su ubuntu-user
    
  9. Zablokuj po odłączeniu

    $ sudo gedit /etc/pamusb.conf
    
  10. Zmodyfikuj blok „użytkownika”, aby wyglądał następująco:

    <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
źródło
6

W

/etc/udev/rules.d/

możesz napisać skrypt

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

gdzie PPPP i VVVV są wartościami, które można wyodrębnić lsusb.

Każdy identyczny produkt będzie pasował, ale blokowanie USB może zamontować urządzenie i spojrzeć na sam dysk w celu dalszej legalizacji - jakiś plik, jakiś kod bajtowy, data ...

Oczywiście jest podatny na ataki, jeśli ktoś inny uzyska dostęp do kija.

Skrypt może dalej sprawdzać co minutę, czy kij jest nadal zamontowany, i blokować, jeśli nie.

nieznany użytkownik
źródło
2
Twoja reguła powinna mieć AKCJA == dodać. Ponadto, dlaczego miałbyś co minutę patrzeć, czy jest tam kij? Wystarczy nacisnąć AKCJA == usunąć i zablokować ekran, gdy zniknie drążek. Do reguły należy również dodać numer seryjny kija i identyfikator UUID partycji.
Matthias Urlichs,
3

Dzięki za sugestię. Napisałem prosty skrypt wykorzystujący polecenie lsusb i umieściłem w systemie -> preferencje -> aplikacje startowe. Skrypt jest następujący.

#! / bin / sh
# Skrypt do automatycznego blokowania i odblokowywania komputera, gdy mój pendrive zostanie usunięty

LSUSB = `which lsusb`

jeśli [-z $ LSUSB]; następnie
    echo "Nie znaleziono polecenia lsusb. wychodzenie .. \ n"
    zjazd 56
fi


podczas :
robić
    spać 3
    echo „Uruchamianie w pętli”
    # Sprawdź napęd USB

    USB = `lsusb | grep Logitech`

    jeśli [-n "$ {USB}"]; następnie
        echo „Urządzenie USB: znaleziono Transcend”
        # znajdź i zabij znaleziony wygaszacz ekranu.
        gnome-wygaszacz ekranu-polecenie - dezaktywuj
        kontyntynuj
    fi

    # Nie znaleziono urządzenia USB
    # Sprawdź, czy wygaszacz ekranu jest uruchomiony, czy nie
    # jeśli nie działa, uruchom wygaszacz ekranu
    gnome-wygaszacz ekranu-polecenie - aktywuj


gotowy

wyjście 0
Prabin Dahal
źródło