GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So melden Sie sich bei Linux mit einem USB-Stick anstelle eines Passworts mit pam_usb (fork) an

pam_usb ist ein PAM-Modul, das Hardware-Authentifizierung für Linux mit gängigen USB-Flash-Laufwerken, SD-Karten, MMC usw. bereitstellt.

Damit können Sie sich ohne Passwort anmelden, indem Sie einfach einen USB-Stick oder eine Speicherkarte an Ihren Computer anschließen. Diese USB-Authentifizierung funktioniert auch, wenn Terminalbefehle ausgeführt werden, die einen Superuser erfordern – zum Beispiel werden Sie bei Verwendung von sudo nicht nach einem Passwort gefragt.

pam_usb funktioniert mit jeder Anwendung, die PAM unterstützt, wie z. B. Login Manager (GDM, Lightdm etc.) und su/sudo.

Zur Authentifizierung verwendet pam_usb die Seriennummer des USB-Sticks / der Speicherkarte, das Modell und den Hersteller sowie optional One-Time-Pads (OTP). Wenn One Time Pads aktiviert sind (dies ist standardmäßig aktiviert, aber Sie können es deaktivieren), befindet sich die öffentliche Benutzer-Pads-Datei auf der USB-/Speicherkarte in einem versteckten Ordner namens. gespeichert .pamusb während der private Schlüssel in einem versteckten Ordner mit demselben Namen gespeichert ist, der im Home-Verzeichnis des Benutzers gespeichert ist.

Der ursprüngliche Entwickler dieses Tools scheint es aufgegeben zu haben, keine neuen Commits seit April 2016 und keine neuen Releases seit 2011. Seitdem wurden einige Verbesserungen in verschiedenen Repositories vorgenommen. Um pam_usb weiter zu verbessern, wurde das Tool gegabelt, wobei auch zuvor in anderen Repositories durchgeführte Arbeiten berücksichtigt wurden (einschließlich Verbesserungen wie dem UDisk2-Port).

pam_usb-Funktionen:

  • Passwortlose Authentifizierung (Speicherkarte / USB). Schließen Sie einfach den USB-Stick / die Speicherkarte an, die Sie mit pam_usb konfiguriert haben, um sich anzumelden
  • Unterstützt USB-Sticks, SD-Karten, MMC usw.
  • Automatische Sondierung des Geräts. pam_usb erfordert nicht, dass das USB-Flash-Laufwerk gemountet wird; es kann das USB-Gerät lokalisieren und über UDisks direkt auf seine Daten zugreifen
  • Ihr USB-Flash-Laufwerk muss nicht neu formatiert werden
  • USB-Seriennummer, Modell- und Herstellerbestätigung
  • Unterstützt One Time Pads (OTP)-Authentifizierung
  • Kann als Zwei-Faktor-Authentifizierung verwendet werden und erfordert sowohl den USB-Stick als auch das Passwort, um sich bei Ihrem Linux-System anzumelden
  • Sie können dieselbe Speicherkarte / denselben USB-Stick auf mehreren Computern verwenden

Es gibt 3 Tools, die mit pam_usb geliefert werden:pamusb-agent die verwendet werden können, um Aktionen einzuleiten, wenn das Gerät authentifiziert oder entfernt wird (z. B. können Sie einen Befehl verwenden, um den Bildschirm zu sperren, wenn das Gerät entfernt wird), pamusb-conf was die Einrichtung von pam_usb und pamusb-check erleichtert die verwendet wird, um die pam_usb-Authentifizierungs-Engine in Skripte oder Anwendungen zu integrieren.

pam_usb unterstützt derzeit nicht das Hinzufügen von mehr als einem Gerät pro Benutzer. Fürs erste pamusb-conf fügt keine Geräte für bereits konfigurierte Benutzer hinzu. Sie können dieses Problem hier verfolgen.

Erwähnenswert ist, dass pam_usb nur zum Anmelden verwendet wird und nicht zum Entsperren des GNOME-Schlüsselbunds oder zum Entschlüsseln privater Ordner . GNOME Keyring scheint das Entsperren durch nichts anderes als die Verwendung des Passworts zu unterstützen. Auch wenn Sie automatisch angemeldet werden, während Sie pam_usb verwenden und das gekoppelte USB-Flash-Laufwerk angeschlossen ist, wird das Dialogfeld „GNOME-Schlüsselbund entsperren“ angezeigt, in dem Sie aufgefordert werden, Ihr Entsperrkennwort einzugeben. dasselbe passiert zum Beispiel, wenn Sie die Authentifizierung per Fingerabdruck verwenden.

Ich habe das mit GDM und LightDM versucht. In beiden Fällen musste ich auf dem Anmeldebildschirm auf meinen Benutzernamen klicken und die Eingabetaste drücken, um mich anzumelden, ohne das Kontopasswort eingeben zu müssen.

[[Bearbeiten]]In einem Kommentar unten bemerkte der Entwickler, dass er versuchte, Hilfe bei einer Sicherheitsüberprüfung des Codes zu finden. Wenn Sie helfen können, wenden Sie sich bitte über github an sie.

USB-bezogen:Erstellen Sie ein bootfähiges USB-Laufwerk, indem Sie einfach die ISO-Datei mit Ventoy (Linux und Windows) auf den USB-Stick kopieren

pam_usb (Fork) installieren und einrichten

dieser pam_usb-fork wurde nicht in die offiziellen Repositories irgendeiner Linux-Distribution gepackt. Die alte Version 0.5.0 (die Python2 und Udisks1 verwendet) ist für ein paar Linux-Distributionen verfügbar, fehlt aber in den meisten.

Der pam_usb-Fork-Entwickler hat diese pam_usb-Version für aktuelle Debian- und Ubuntu-Versionen (sowie Linux Mint, Pop! _OS und andere auf Debian oder Ubuntu basierende Linux-Distributionen) gepackt und Sie können sie hier herunterladen (Von dort benötigen Sie nur noch das libpam-usb-Paket).

Das Fork-Repository pam_usb hat auch ein Arch Linux / Manjaro PKGBUILD verfügbar .

Für andere Linux-Distributionen müssen Sie es aus der Quelle erstellen .

Wenn Sie pam_usb (Fork) aus dem vom Entwickler bereitgestellten Debian-Paket installieren, werden Sie während der Installation aufgefordert, das Gerät und den Benutzer auszuwählen:

Wenn dies bei Ihnen nicht der Fall ist oder Sie es später manuell tun möchten, können Sie pam_usb folgendermaßen einrichten. Stecken Sie ein USB-Flash-Laufwerk oder eine Speicherkarte ein und führen Sie den folgenden Befehl aus, um Ihr neues Gerät als Authentifizierungsmethode hinzuzufügen:

sudo pamusb-conf --add-device DEVICE_NAME

Wobei DEVICE_NAME kann alles sein, was Sie wollen

Als nächstes müssen Sie Ihren Benutzer zur pam_usb-Konfiguration hinzufügen mit:

sudo pamusb-conf --add-user USERNAME

Wobei USERNAME ist der Benutzer, für den Sie die USB-/Speicherkarten-basierte Authentifizierung aktivieren möchten.

Der Benutzername und die Geräteinformationen werden in /etc/security/pam_usb.conf gespeichert Datei.

Sie können nun die Konfiguration überprüfen, um festzustellen, ob alles korrekt ist, indem Sie Folgendes verwenden:

pamusb-check USERNAME

Es ist wichtig zu beachten, dass Sie bei Verwendung der vom Entwickler bereitgestellten DEB-Pakete nichts weiter konfigurieren müssen. Aber wenn Sie pam_usb von der Quelle installiert haben, müssen Sie pam_usb wie hier erklärt zum Systemauthentifizierungsprozess hinzufügen.

Weitere pam_usb-Konfigurationsoptionen finden Sie auf der Konfigurations-Wiki-Seite.

Konfigurieren Sie pam_usb so, dass der Bildschirm gesperrt wird, wenn der USB-Stick/die Speicherkarte entfernt wird (und entsperrt wird, sobald er wieder eingesetzt wird)

pam_usb kann mit Hilfe von pamusb-agent Befehle ausführen, wenn der USB-Stick / die Speicherkarte eingesteckt oder entfernt wird.

Das pam_usb-Wiki hat ein Beispiel für eine Konfiguration, um den Bildschirm beim Entfernen des USB-Sticks / der Speicherkarte zu sperren und beim Wiedereinstecken zu entsperren. Dieses Beispiel funktioniert nicht mehr auf Gnome (aber es sollte auf anderen Desktop-Umgebungen funktionieren, indem es ersetzt wird) gnome-screensaver-command mit cinnamon-screensaver-command für Cinnamon Desktop, mate-screensaver-command für MATE-Desktop usw.). [[Bearbeiten]]Du kannst das durch xdg-screensaver ersetzen (Teil der xdg-utils Paket; z.B. xdg-screensaver lock zum Sperren des Bildschirms und xdg-screensaver reset zum Entsperren).

Um pam_usb dazu zu bringen, den Bildschirm zu sperren, wenn der USB-Stick / die Speicherkarte entfernt wird, und sobald das Gerät wieder verbunden ist, auf Linux-Distributionen mit System zu entsperren (ich habe diese Konfiguration nur auf Gnome mit GDM3 getestet, ich verwende die folgende Konfiguration (/etc/security/pam_usb.conf ):

...................................

<user id="USERNAME">

<device>DEVICE_NAME</device>

<!-- When the user "USERNAME" removes the usb device, lock the screen -->

<agent event="lock">

        <cmd>/usr/local/bin/screensaver-lock</cmd>        

    </agent>

    <!-- Resume operations when the usb device is plugged back and authenticated -->

    <agent event="unlock">     

        <cmd>/usr/local/bin/screensaver-unlock</cmd>       

    </agent>

</user>

...................................

Dazu werden zwei Skripte verwendet. /usr/local/bin/screensaver-lock wird verwendet, um den Bildschirm zu sperren, und /usr/local/bin/screensaver-unlock um den Bildschirm zu entsperren. Hier sind ihre Inhalte.

/usr/local/bin/screensaver-lock :

#!/bin/sh

SESSION=`loginctl list-sessions | grep USERNAME | awk '{print $1}'`

if [ -n $SESSION ]; then

        loginctl lock-session $SESSION

fi

/usr/local/bin/screensaver-unlock :

#!/bin/sh

SESSION=`loginctl list-sessions | grep USERNAME | awk '{print $1}'`

if [ -n $SESSION ]; then

        loginctl unlock-session $SESSION

fi

Ersetzen Sie in beiden USERNAME mit Ihrem Benutzernamen.

Das könnte Ihnen auch gefallen:KDE Connect / GSConnect:So sperren/entsperren Sie Ihren Linux-Desktop mit einem Android-Gerät

oben wiki.ubuntuusers.de


Debian
  1. So brennen Sie eine ISO-Datei unter Linux mit Etcher auf ein USB-Laufwerk

  2. So erstellen Sie ein bootfähiges USB-Laufwerk mit dem dd-Befehl

  3. So verwalten Sie Protokolldateien mit Logrotate unter Linux

  4. So schreiben Sie Protokolldateien im RAM mit Log2ram unter Linux

  5. So erstellen Sie einen bootfähigen Linux-USB mit Ubuntu oder LinuxMint

So installieren Sie ein vollständiges Ubuntu auf einem USB-Flash-Laufwerk

So erstellen Sie ein Ubuntu Live USB-Laufwerk über die Befehlszeile

Wie man eine Datei mit Vim unter Linux mit einem Passwort schützt

So formatieren Sie ein USB-Laufwerk in Debian

So erstellen Sie ein bootfähiges USB-Laufwerk für Rocky Linux 8

So erstellen Sie ein bootfähiges Linux-USB-Flash-Laufwerk [Tutorial]