Verrouiller et déverrouiller à partir du disque USB (clé USB)


15

Existe-t-il un programme pour verrouiller et déverrouiller ma machine Ubuntu à l'aide d'un lecteur flash?

Par exemple, lorsque je retire le lecteur flash USB, l'ordinateur se verrouille automatiquement et lorsque j'installe le lecteur flash, l'ordinateur se déverrouille automatiquement.

Merci d'avance.


2
N'oubliez pas que le clonage d'une clé USB est une tâche triviale, même si vous vérifiez le numéro de série.
Olli

Réponses:


10

Je sais que c'est une réponse terriblement tardive, juste pensé que cela pourrait aider les futurs lecteurs. J'ai posté la réponse à Locking with USB drive

Eh bien, un module appelé PAM (module d'authentification enfichable) peut être personnalisé pour répondre à vos besoins. Un bel article est disponible sur linuxconfig décrivant cela en détail.

Les étapes sont les suivantes:

  1. Installer PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Ajouter un périphérique USB à la configuration PAM

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Sélectionnez votre volume et " Y " pour enregistrer

  4. Définir l'utilisateur pour l'authentification PAM

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Sélectionnez et " Y " pour enregistrer

  6. Configurer PAM

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Ajoutez la ligne ci-dessous et enregistrez

    auth    sufficient      pam_usb.so
    
  8. Testez l'authentification PAM

    $ su ubuntu-user
    
  9. Verrouiller lorsqu'il est déconnecté

    $ sudo gedit /etc/pamusb.conf
    
  10. Modifiez le bloc "utilisateur" pour qu'il ressemble à:

    <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

Dans

/etc/udev/rules.d/

vous pouvez écrire un script

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

où PPPP et VVVV sont des valeurs que vous pouvez extraire avec lsusb.

Chaque produit identique correspondra, mais le verrouillage USB pourrait monter l'appareil et regarder le lecteur lui-même pour une légitimation supplémentaire - un fichier, un bytecode, la date ...

Il est vulnérable si quelqu'un d'autre a accès au bâton, bien sûr.

Le script pourrait regarder plus loin chaque minute, si le bâton est toujours monté, et se verrouiller sinon.


2
Votre règle devrait avoir ACTION == add. Aussi, pourquoi regarder chaque minute si le bâton est là? Il suffit de déclencher sur ACTION == retirer et verrouiller l'écran chaque fois que le stick disparaît. Vous devez également ajouter le numéro de série de la clé et l'UUID de la partition à la règle.
Matthias Urlichs

3

Merci pour votre suggestion .. J'ai écrit un script simple en utilisant la commande lsusb et mis en système -> préférences-> applications de démarrage. Le script est le suivant.

#! / bin / sh
# Script pour verrouiller et déverrouiller automatiquement l'ordinateur lorsque ma clé USB est retirée

LSUSB = `quel lsusb`

if [-z $ LSUSB]; ensuite
    echo "Aucune commande lsusb trouvée. sortie .. \ n"
    sortie 56
Fi


tandis que :
faire
    dormir 3
    echo "Courir en boucle"
    # Vérifiez la clé USB

    USB = `lsusb | grep Logitech »

    if [-n "$ {USB}"]; ensuite
        echo "Périphérique USB: Transcend trouvé"
        # trouver et tuer tout économiseur d'écran trouvé.
        gnome-screensaver-command --deactivate
        continuer
    Fi

    # Périphérique USB introuvable
    # Vérifiez si l'économiseur d'écran fonctionne ou non
    # s'il ne fonctionne pas, lancez l'économiseur d'écran
    gnome-screensaver-command --activer


terminé

sortie 0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.