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