Blocca e sblocca dal disco USB (pendrive)


15

Esiste un programma per bloccare e sbloccare la mia macchina Ubuntu utilizzando un'unità flash?

Ad esempio, quando estraggo l'unità flash USB, il computer si blocca automaticamente e quando inserisco l'unità flash, il computer si sblocca automaticamente.

Grazie in anticipo.


2
Ricorda che la clonazione della chiavetta USB è un'operazione banale, anche se controlli il numero di serie.
Olli

Risposte:


10

So che è una risposta terribilmente in ritardo, ho pensato che potesse aiutare i futuri lettori. Ho pubblicato la risposta su Blocco con unità USB

Bene, un modulo chiamato PAM (Pluggable Authentication Module) può essere personalizzato per soddisfare le tue esigenze. Un bellissimo articolo è disponibile su linuxconfig descrivendolo in dettaglio.

I passaggi sono:

  1. Installa PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Aggiungi dispositivo USB alla configurazione PAM

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Seleziona il volume e " Y " per salvare

  4. Definire l'utente per l'autenticazione PAM

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Selezionare e " Y " per salvare

  6. Configura PAM

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Aggiungi la riga qui sotto e salva

    auth    sufficient      pam_usb.so
    
  8. Testare l'autenticazione PAM

    $ su ubuntu-user
    
  9. Blocca quando disconnesso

    $ sudo gedit /etc/pamusb.conf
    
  10. Modifica il blocco "utente" del blocco in modo che assomigli a:

    <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

Nel

/etc/udev/rules.d/

puoi scrivere una sceneggiatura

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

dove PPPP e VVVV sono valori che è possibile estrarre lsusb.

Ogni prodotto identico corrisponderà, ma il blocco USB potrebbe montare il dispositivo e guardare l'unità stessa per ulteriore legittimazione - alcuni file, alcuni bytecode lì dentro, la data ...

È vulnerabile se qualcun altro ha accesso al bastone, ovviamente.

Lo script potrebbe ulteriormente guardare ogni minuto, indipendentemente dal fatto che lo stick sia ancora montato e bloccarsi in caso contrario.


2
La tua regola dovrebbe avere ACTION == add. Inoltre, perché dovresti cercare ogni minuto se lo stick è lì? Basta innescare ACTION == rimuovere e bloccare lo schermo ogni volta che lo stick scompare. È inoltre necessario aggiungere il numero seriale dello stick e l'UUID della partizione alla regola.
Matthias Urlichs,

3

Grazie per il tuo suggerimento .. Ho scritto un semplice script utilizzando il comando lsusb e ho inserito il sistema -> preferenze-> applicazioni di avvio. Lo script è il seguente.

#! / Bin / sh
# Script per bloccare e sbloccare automaticamente il computer quando il pendrive USB viene rimosso

LSUSB = `which lsusb`

if [-z $ LSUSB]; poi
    echo "Nessun comando lsusb trovato. in uscita .. \ n"
    uscita 56
fi


mentre :
fare
    dormire 3
    echo "Running in loop"
    # Controllare l'unità USB

    USB = `lsusb | grep Logitech`

    if [-n "$ {USB}"]; poi
        echo "Dispositivo USB: Transcend trovato"
        # trova e uccidi qualsiasi salvaschermo trovato.
        gnome-screensaver-command --deactivate
        Continua
    fi

    # Dispositivo USB non trovato
    # Controlla se lo screensaver è in esecuzione o meno
    # se non in esecuzione, avvia lo screensaver
    gnome-screensaver-command --activate


fatto

uscita 0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.