KDE Wallet

提供: ArchWiki
ナビゲーションに移動 検索に移動

KDE Wallet Manager は、KDE Plasma システムでパスワードを管理するためのツールです。KDE ウォレットサブシステムを使うことで秘密を守ることだけでなく、KDE ウォレットと連動する全てのアプリケーションのパスワードを管理することができます。

ウォレット (KDE の用語では vault や keyring とも呼ばれます) とは、ユーザー定義のパスワードによって保護された暗号化ボリュームであり、ユーザーやソフトウェアはシークレット (ユーザーがアプリケーションで "アカウントを記憶する" にチェックを入れた場合には資格情報がこれに該当します) をここに保存することができます。ウォレットは、ユーザーによって手動で作成及び使用を行ったり、あるいは、ウォレットサブシステムと統合されている何らかのソフトウェア (例えばメールアプリやゲーム) によってバックグラウンドで自動的に作成及び使用ができます。多くの場合、ウォレットはユーザーのログイン時に PAM モジュールを使って自動的に復号されます (以下を参照)。

ヒント:

  • ウォレットを、必要としているアプリケーションにだけ利用可能にする必要がある場合、デフォルトのウォレット名 (つまり kdewallet) を使用し、ユーザーのパスワードと同じにする (PAM で復号できるようにするため) ことが推奨されます。
  • デフォルトでは、ウォレットは ~/.local/share/kwalletd 内に .kwl 拡張子が付けられた暗号化ファイルとして保存されます。
ノート: KDE Frameworks 5.97.0 以降、KDE Wallet は org.freedesktop.secrets DBus API をサポートしています。これにより、libsecret が KDE Wallet を使用できるようになり、Secret Service API を使ってパスワードなどの機密情報を保管・取得できるようになりました。

インストール

KDE Wallet はよく KDE Plasma デスクトップ環境と同梱されています。KDE のウォレットサブシステムは kwallet パッケージで手動でインストールできます。

任意で、ウォレット管理ツールの kwalletmanager パッケージもインストールしてください。このツールは KDE Wallet をグラフィカルに作成・管理するために使用できます。

設定

ログイン時に KDE ウォレットを自動的にアンロック

ログイン時に KDE ウォレットを自動的にアンロックするには、PAM 互換モジュールの kwallet-pamインストールしてください。また、KDE ウォレットパスワードは現在のユーザーのパスワードと一致していなければなりません。

ノート:
  • kwallet-pamGnuPG 鍵とは互換性がありません。KDE ウォレットは標準的な blowfish 暗号を使わなければなりません。
  • 自動ログインを使うときは、自動ログインのメソッドがパスワードを保存している場合に限りウォレットをアンロックできます。例えば、pam_autologin は可能です。
  • ログインに指紋を使用する場合、ウォレットはアンロックできません。
  • ウォレットの名前は kdewallet (デフォルト名)でなければなりません。これは他のウォレットをアンロックしません。
  • KDE を使用している場合、ウォレットが使用後(WiFi のパスフレーズのアンロックなど)に閉じられないようにするために、KDE ウォレット設定で 最後のアプリケーションが使い終わったときに閉じる を無効化する必要があるかもしれません。
  • まず先に、保存されている全てのエントリを削除して、デフォルトで作成されたウォレットを削除する必要があるかもしれません。
  • kwallet Migration Assistant がログイン後に毎回パスワードを尋ねてくる場合、~/.kde4/share/apps/kwallet フォルダを削除するか名前を変更してください。
ヒント: あるいは、KWalletManager を使用して、空の Kwallet パスワードを設定することで、パスワード無しでウォレットのアンロックを可能にできます。パスワードを変更.. の両方の入力欄を空欄にしてください。しかし、これによりユーザのウォレットに対して望まない(読み込み/書き込み)アクセスを招く恐れがあります。ウォレットに対する望まないアクセスを防ぐために アクセス管理アプリケーションがウォレットにアクセスするときに通知する を有効化することを強くおすすめします。

PAM の設定

以下の行は、対応するそれぞれのセクションになければなりません:

auth            optional        pam_kwallet5.so
session         optional        pam_kwallet5.so auto_start

状況に合わせて PAM 設定ファイルを編集してください:

  • SDDM の場合、/etc/pam.d/sddm に上記の行がすでに存在するため、編集する必要は無いはずです。
  • LightDM の場合、/etc/pam.d/lightdm/etc/pam.d/lightdm-autologin に上記の行がすでに存在するため、編集する必要は無いはずです。
  • GDM の場合、/etc/pam.d/gdm-password を適宜編集してください。
  • greetd の場合、/etc/pam.d/greetd を適宜編集してください。
  • tty ログイン (ディスプレイマネージャなし、または greetd-tuigreet など) でアンロックするには、/etc/pam.d/login を適宜編集してください。force_run パラメータを指定する必要があります。
/etc/pam.d/login
auth            optional        pam_kwallet5.so
session         optional        pam_kwallet5.so auto_start force_run
/etc/pam.d/greetd
#%PAM-1.0

auth       required     pam_securetty.so
auth       requisite    pam_nologin.so
auth       include      system-local-login
auth       optional     pam_kwallet5.so
account    include      system-local-login
session    include      system-local-login
session    optional     pam_kwallet5.so auto_start force_run

ヒントとテクニック

KDE Wallet を使って ssh 鍵のパスフレーズを保存する

ksshaskpass パッケージをインストールしてください。

SSH_ASKPASS 環境変数ksshaskpass に、SSH_ASKPASS_REQUIREprefer (TTY ではなく askpass プログラムを使うことを優先します) に設定してください。ログインの度に環境変数を自動的に設定するには、以下の environment.d(5) ファイルを作成してください:

~/.config/environment.d/ssh_askpass.conf
SSH_ASKPASS=/usr/bin/ksshaskpass
SSH_ASKPASS_REQUIRE=prefer

セッションを再起動 (つまり再ログイン) し、環境変数を適用してください。

SSH 鍵の初回使用時には、パスフレーズの入力を求められます。Remember password チェックボックスにチェックをいれてください。次回以降、パスフレーズは KDE Wallet から読み込まれます。

KDE ウォレットを使って Git の資格情報を保存

Git は資格情報ヘルパーに資格情報の処理を委託できます。ksshaskpass を資格情報ヘルパーとして使うことで、HTTP/HTTPS と SMTP のパスワードは KDE ウォレットに安全に保存できます。

ksshaskpass パッケージをインストールしてください。

GIT_ASKPASS 環境変数で Git を設定してください:

~/.config/environment.d/git_askpass.conf
GIT_ASKPASS=/usr/bin/ksshaskpass
ヒント: SSH_ASKPASS 環境変数がksshaskpass に設定されている場合、GIT_ASKPASS を設定する必要はありません。

代替や詳細は gitcredentials(7) を見てください。

GPG 鍵のパスフレーズを保存する

ネイティブな KDE ウィンドウは GPG 鍵のパスフレーズのプロンプトにを使用することができ、KDE Wallet 内にパスフレーズを保存するのに使用できます。

/usr/bin/pinentry-qt を使うように gpg-agent設定してください。

Secret Service インターフェイスを有効化してください。方法は2つあります:

  • System Settings > KDE Wallet を開き、Use KWallet for the Secret Service interface を有効化する。
  • KDE Wallet の設定ファイルを変更する:
~/.config/kwalletrc
[org.freedesktop.secrets]
apiEnabled=true

これらの変更を適用するには、ウォレットを閉じ、再度開き直してください。これは、kwalletmanager を使うか、または Qt D-Bus にコマンドを直接発行することで可能です:

$ qdbus org.kde.kwalletd6 /modules/kwalletd6 closeAllWallets
$ qdbus org.kde.kwalletd6 /modules/kwalletd6 open kdewallet 0 $0

Chrome と Chromium で KDE ウォレットを使う

Chrome/Chromium/Opera には組み込みのウォレット統合機能があります。それを有効化するには、--password-store=kwallet5--password-store=detect を引数として渡して Chromium を実行してください。この変更を永続化させるには、Chromium#フラグを永続的に設定 を見てください。(CHROMIUM_USER_FLAGS を設定してもうまく行きません。)

ターミナルからパスワードをクエリする

プレーンなテキストファイルにパスワードを保存する代わりに、kwallet-query を使って手動で新しいエントリをウォレットに追加したり、取得したりできます。

例えば、Podman で Docker Hub レジストリにログインしたい場合、以下のコマンドを使ってログインできます(Podman は --password-stdin フラグで標準入力からのパスワード入力を受け付けます):

$ kwallet-query -r folder_entry wallet_name -f folder_name | podman login docker.io -u dockerhub_username --password-stdin

この方法では、パスワードはテキストファイルに保存されず、ターミナルの履歴ファイルにも残りません。

ウインドウマネージャで KWallet を自動的にアンロックする

ログインパスワードで保護された KWallet をアンロックするには、PAM の設定に加えて以下をウインドウマネージャの設定ファイルに追加する必要があります:

exec --no-startup-id /usr/lib/pam_kwallet_init

KWallet を無効化する

KWallet を永久に無効化したい場合:

~/.config/kwalletrc
[Wallet]
Enabled=false

D-Bus の自動アクティベーション

ほとんどのアプリケーションは org.freedesktop.secrets.service D-Bus サービスを使用します。KWallet は、そのままの状態では自動アクティベーションのためのサービスファイルを提供していません。

以下のようなサービスファイルを作成することで、自動アクティベーションを行うことができます:

~/.local/share/dbus-1/services/org.freedesktop.secrets.service
[D-BUS Service]
Name=org.freedesktop.secrets
Exec=/usr/bin/kwalletd6

参照

翻訳ステータス: このページは en:KDE Wallet の翻訳バージョンです。最後の翻訳日は 2024-04-10 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。