Sperren und Entsperren von USB-Stick


15

Gibt es ein Programm zum Sperren und Entsperren meines Ubuntu-Rechners mithilfe eines Flash-Laufwerks?

Wenn ich zum Beispiel das USB-Flash-Laufwerk herausnehme, wird der Computer automatisch gesperrt, und wenn ich das Flash-Laufwerk einsetze, wird der Computer automatisch entsperrt.

Danke im Voraus.


2
Denken Sie daran, dass das Klonen des USB-Sticks eine triviale Aufgabe ist, auch wenn Sie nach der Seriennummer suchen.
Olli

Antworten:


10

Ich weiß, es ist eine schrecklich späte Antwort, dachte nur, es könnte zukünftigen Lesern helfen. Ich habe die Antwort unter Mit USB-Laufwerk sperren gepostet

Nun, ein Modul namens PAM (Pluggable Authentication Module) kann an Ihre Bedürfnisse angepasst werden. Auf linuxconfig ist ein schöner Artikel verfügbar , der dies ausführlich beschreibt.

Die Schritte sind:

  1. Installieren Sie PAM

    $ sudo apt-get install pamusb-tools libpam-usb
    
  2. Fügen Sie ein USB-Gerät zur PAM-Konfiguration hinzu

    $ sudo pamusb-conf --add-device <my-usb-stick>
    
  3. Wählen Sie Ihre Lautstärke und " Y " zum Speichern

  4. Benutzer für PAM-Authentifizierung definieren

    $ sudo pamusb-conf --add-user <ubuntu-user>
    
  5. Wählen Sie und " Y " zum Speichern

  6. PAM konfigurieren

    $ sudo gedit /etc/pam.d/common-auth
    
  7. Füge die Zeile darunter hinzu und speichere

    auth    sufficient      pam_usb.so
    
  8. Testen Sie die PAM-Authentifizierung

    $ su ubuntu-user
    
  9. Sperren, wenn die Verbindung getrennt wird

    $ sudo gedit /etc/pamusb.conf
    
  10. Ändern Sie den Block "user" so, dass er wie folgt aussieht:

    <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

Im

/etc/udev/rules.d/

Sie können ein Skript schreiben

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

wobei PPPP und VVVV Werte sind, mit denen Sie extrahieren können lsusb.

Jedes identische Produkt wird übereinstimmen, aber die USB-Sperre könnte das Gerät aktivieren und das Laufwerk selbst auf weitere Legitimation überprüfen - eine Datei, ein Bytecode, das Datum ...

Es ist natürlich anfällig, wenn jemand anderes Zugriff auf den Stick bekommt.

Das Skript könnte weiterhin jede Minute prüfen, ob der Stick noch montiert ist, und, falls nicht, sperren.


2
Ihre Regel sollte ACTION == add haben. Und warum schaust du jede Minute, ob der Stock da ist? Einfach auf ACTION == auslösen und den Bildschirm sperren, wenn der Stick verschwindet. Sie sollten der Regel auch die Seriennummer des Sticks und die UUID der Partition hinzufügen.
Matthias Urlichs

3

Vielen Dank für Ihren Vorschlag. Ich habe ein einfaches Skript mit dem Befehl lsusb geschrieben und System -> Einstellungen -> Startanwendungen eingegeben. Das Skript ist wie folgt ..

#! / bin / sh
# Skript zum automatischen Sperren und Entsperren des Computers, wenn mein USB-Stick entfernt wird

LSUSB = `which lsusb`

if [-z $ LSUSB]; dann
    echo "Es wurde kein lsusb-Befehl gefunden. Wird beendet. \ n"
    Ausfahrt 56
fi


während:
tun
    Schlaf 3
    Echo "Running in Loop"
    # Überprüfen Sie das USB-Laufwerk

    USB = lsusb | grep Logitech`

    if [-n "$ {USB}"]; dann
        Echo "USB-Gerät: Transcend gefunden"
        # Finden und töten Sie alle gefundenen Bildschirmschoner.
        gnome-screensaver-command --deactivate
        fortsetzen
    fi

    # USB-Gerät nicht gefunden
    # Überprüfen Sie, ob der Bildschirmschoner ausgeführt wird oder nicht
    # Wenn nicht, starten Sie den Bildschirmschoner
    gnome-screensaver-command --activate


erledigt

Ausfahrt 0
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.