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.

Prabin Dahal
la source
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>*
    
Fr0zenFyr
la source
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.

Utilisateur inconnu
la source
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
Prabin Dahal
la source