Linux:Plasma5:KWallet

Aus ITWiki
Zur Navigation springen Zur Suche springen

TODO: Was ist KWallet?

1 KDE Passwortspeicher

1.1 Installation

Der KDE Passwortspeicher ist in der Standardinstallation KDE-Plasma enthalten, da erintegraler Bestandteil des Plasma-Desktops ist.

apt install kwalletmanager

1.2 Benutzung

1.2.1 Einrichten und Befüllen des KDE Passwortspeichers

  • Unter KDE ist diese standardmäßig aktiviert und wartet im eingerichteten Zustand im Hintergrund darauf, dass eine KDE-Anwendung ein Passwort anfordert.
  • Gibt man für eine KDE-Anwendung ein Passwort ein, wird dies automatisch im Passwortspeicher gespeichert.
  • Mit dem Paket pam_kwallet der Passwortspeicher automatisch bei der Installation mit dem Benutzerpasswort angelegt und anschließend bei jedem Login entsperrt.
  • Danach speichern alle KDE-Anwendungen, welche mit dem Speicher kooperieren, in diese - sofern man dies bei der Abfrage nach einer Kennworteingabe nicht abwählt.
  • Daher ist es auch problemlos möglich, dass Anwendung A in die Tasche speichert, B aber nicht, wenn der Nutzer es so will.

1.2.2 Hinweis

  • Das Root-Kennwort ist davon ausgeschlossen
    • wenn ein Programm Root-Rechte benötigt oder bestimmte Einstellungen in KDE Systemeinstellungen, so muss das Root-Kennwort eingegeben werden.
    • dieses Passwort kennt nur der Administrator
  • den Passwortspeicher kann aber jeder Benutzer des PCs für sich selbst einrichten, dieser kennt das Passwort dann ja nicht zwangsläufig unbedingt.
  • Außerdem dient diese Einschränkung der allgemeinen Systemsicherheit.

1.2.3 Passwortspeicher öffnen und schließen

1.2.4 Hinweis

  • Sofern der Benutzer per Autologin angemeldet wird, muss zur Sicherheit der KDE Passwortspeicher weiterhin manuell durch Passworteingabe entsperrt werden.
  • Die automatische Entsperrung mittels pam-kwallet funktioniert dann nicht.

KWallet wird automatisch beim Login des Benutzers gestartet und beim Beenden einer Sitzung wieder geschlossen.

Sofern man manuell während einer Sitzung den Passwortspeicher schließen möchte, sollte man das Symbol im Systemabschnitt der Kontrollleiste aktivieren. Dazu muss unter Systemeinstellungen > Benutzerkontodetails → KDE-Passwortspeicher die Option "Passwortverwaltung im Systembereich anzeigen" aktiviert werden. Möchte man während der Sitzung den KDE Passwortspeicher manuell schließen, so klickt man nun mit der rechten Maustaste auf das KDE-Brietaschensymbol in der Systemleiste und wählt "Alle digitalen Passwortspeicher schließen" oder tut dies über den KWallet-Manager (siehe unten).

Eine geschlossener Passwortspeicher wird mit diesem Icon dargestellt , eine offener Passwortspeicher mit diesem Icon (je nach Kubuntu-Version und KDE-Variante könnten die Symbole leicht anders aussehen).

1.3 Weitergehende Konfigurierung

Zur Konfiguration des Passwortspeichers klickt man entweder mit rechts auf das Symbol in der Systemleiste und wählt "Passwortspeicher einrichten", ruft alternativ das Programm kwalletmanager auf [2] und wählt "Passwortspeicher einrichten" an, oder aber kann in KDE die Konfiguration auch über die KDE Systemeinstellungen geöffnet werden. Dazu wählt man Systemeinstellungen → Benutzerkontodetails → KDE Passwortspeicher.

1.3.1 Vollständige Deaktivierung

Möchte man den KDE Passwortspeicher generell ausschalten, so entfernt man das Kreuz bei "KDE Passwortspeichersystem aktivieren". Ab dann werden keine Passwörter der KDE-Programme mehr gespeichert.

1.3.2 Automatische Deaktivierung (zeitweise)

Soll der Speicher nicht die komplette KDE-Sitzung offen sein, kann man festlegen, dass sie sich unter bestimmten Umständen automatisch schließt:

  • "xy Minuten nach der letzten Nutzung"
  • "Wenn der Bildschirmschoner aktiviert ist" oder
  • "Wenn keine Anwendung mehr darauf zugreift"

Dies ist beispielsweise nützlich, wenn man den PC verlässt und seine Passwörter verschlossen haben möchte, ohne dass man extra die Tasche manuell abschalten muss.

1.3.3 Nutzung mehrerer Passwort-Sammlungen

Das Passwortspeicher-Programm bietet die Möglichkeit, mehrere Passwort-Sammlungen zu beinhalten, welche in der Regel unterschiedliche Passwörter nutzen (beispielsweise einen Speicher für diese Passwörter, einen andere für jene).

Dazu ist das "Dienstprogramm für die Passwortverwaltung" zu starten (dann "Datei""Neuer Passwortspeicher...") oder bei "Standardpasswortspeicher" bzw. "Anderen Passwortspeicher" auf "Neu..." zu klicken. Dort kann man auch festlegen, welcher KDE Passwortspeicher standardmäßig verwendet werden soll.

Durch das erwähnte Dienstprogramm kann man mehrere Passwort-Sammlungen auch wirklich verwalten, also neue hinzufügen, alte löschen, Passwörter abändern usw.

1.3.4 Erscheinung im Desktop

Der KDE Passwortspeicher kann sich als Icon in der Systemleiste zeigen, dies bietet einen schnellen Zugriff. Man kann einstellen, ob und wann sie dies tun soll.

1.3.5 Einrichtung von expliziten Programmzugriffen

Im Reiter "Zugriffsüberwachung" kann man noch konfigurieren, auf welche Weise welches Programm auf den Passwortspeicher zugreifen darf, wobei für eine reibungslose Nutzung die Voreinstellung normalerweise nicht geändert werden muss.

1.4 Datensicherung und Nutzung auf verschiedenen PCs

  • Es besteht die Möglichkeit, die vorhandenen Passwortspeicher mitsamt allen ihren Einträgen zu sichern.
  • Dazu ist das Verzeichnis /home/BENUTZER/.local/share/kwalletd zu öffnen, die Passwort-Sammlungen liegen dort als Dateien im Format .kwl vor und lassen sich nach Belieben kopieren.
  • Oder aber lässt sich der gewünschte Speicher per Drag&Drop aus dem Fenster des kwalletmanagers, d.h. der Passwortspeicher-Dienstverwaltung, ins Zielverzeichnis bewegen.
  • Indem man diese Passwortspeicher-Datei (Standard: kwallet.kwl) vervielfältigt, ist auch die Nutzung der selben Passwörter und Einstellungen an mehreren Computern möglich. Beispielsweise durch Übertragen auf einen USB-Stick.

1.5 Fehlerbehebung

  • Wenn man die Wallet mit pam entsperren lässt (Siehe Benutzung) und sein Account-Passwort ändert, kann es vorkommen, dass man bei jedem Login vom "Migrationsassistenten für KDE Wallet" aufgefordert wird, sein Passwort einzugeben.
  • Um das Problem zu beheben, prüft man zunächst, ob in der Passwortverwaltung, ob kdewallet bereits entsperrt ist.
  • Wenn nicht, muss man hier die Wallet noch einmal mit dem alten Passwort entsperren und das Passwort auf das neue setzen.
  • Danach fügt man folgende Zeilen in die ~/.config/kwalletrc hinzu:
[Migration]
alreadyMigrated=true

Man sollte nun nicht mehr unnötig nach dem Passwort nach dem Login gefragt werden.

2 KWallet beim Login mit SDDM entsperren

2.1 Voraussetzungen

Benutzerpasswort und KWallet-Passwort müssen identisch sein.

TODO: apt mit relevanten Paketen

2.2 Konfiguration

# vi /etc/pam.d/sddm

Hinzufügen / anpassen:

auth optional pam_kwallet5.so 
session optional pam_kwallet5.so auto_start

2.2.1 ecryptfs + kwallet unlock on login: quick per-user fix

  • Move kwallet files outside of a user's home with symlinks
  • This way it will be available to pam_kwallet
  • no matter if pam_ecryptfs fails initially (it does) or not.
  • Since the wallet file is encrypted there is no harm in storing it outside of encrypted home.

Here is my setup for a generic user joe.* kwallet files are stored under /home/_kwallet/ in per-user subdirs.

  • For joe it is /home/_kwallet/joe/ owned by joe.
  • /home/_kwallet/joe/ has two subdirs kde4 and kde5.
  • /home/joe/ has such symlinks created both in ecryptfs-mounted AND unmounted state (the wallet files are moved accordingly):
    • .local/share/kwalletd -> ../../../_kwallet/joe/kde5

Now it doesn't matter if joe's home is mounted or not in both cases there are symlinks pointing to the same kwallet dirs outside of home.

2.3 Anwendung

2.3.1 KeepassXC öffnen

kwallet-query -f 'keepass' -r 'keepass' kdewallet | keepassxc –pw-stdin ~/.pwd.kdbx

2.3.2 Verschlüsseltes Volume mit SiriKali öffnen

kwallet-query -f 'volumes' -r 'daten' kdewallet | sirikali -b stdin -d ~/.daten/ -z ~/daten/

2.3.3 Anwendungen beim Login öffnen

#!/usr/bin/env bash
## 

## Fehlersuche
#set -xv
#exec 1>~/.openKwallet.log 2>&1

echo KeepassXC öffnen
kwallet-query -f 'keepass' -r 'keepass' kdewallet | keepassxc –pw-stdin ~.pwd.kdbx &

echo Volume Daten öffnen
kwallet-query -f 'volumes' -r 'daten' kdewallet | sirikali -b stdin -d ~/.daten/ -z ~/daten/ &
  1. Script speichern unter /usr/local/bin/
  2. Plama5-Systemeinstellungen -> Starten und Beenden -> Autostart -> Skript hinzufügen -> Ausführungszeitpunkt: Anmeldung


3 Links

3.1 Intern

  1. Linux:Befehl:kwallet-query

TODO

  1. KeepassXC
  2. SiriKali
  3. SDDM

3.2 Extern

  1. https://wiki.ubuntuusers.de/KDE_Passwortspeicher/
  2. Projektseite auf kde.org
  3. Artikel zur KDE Brieftasche aus freiesMagazin 02/2009
  4. https://www.reddit.com/r/kde/comments/a26dqm/ecryptfs_kwallet_unlock_on_login_quick_peruser_fix/