kwalletはrootユーザーとしてパスワードを取得します。

kwalletはrootユーザーとしてパスワードを取得します。

現在、次のようにkwalletからリポジトリをインポートするためのborgmaticバックアップジョブを設定しています。

kwallet-query -r systeembackup kdewallet -f borg

しかし、残念ながらborgmaticを実行すると、次のエラーが発生します。

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Couldn't start kwalletd:  QDBusError("org.freedesktop.DBus.Error.Disconnected", "Not connected to D-Bus server")
passcommand supplied in BORG_PASSCOMMAND failed: Command '['kwallet-query', '-r', 'systeembackup', 'kdewallet', '-f', 'borg']' returned non-zero exit status 1.

フルシステムバックアップを実行できるように、バックアップジョブはrootユーザーとして実行されるため、このコマンドではKDEウォレットを開くことはできません。

私のユーザーとして実行してみました。

sudo -i -u ik kwallet-query -r systeembackup kdewallet -f borg

成功しませんでした:

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-ik'
Couldn't start kwalletd:  QDBusError("org.freedesktop.DBus.Error.Disconnected", "Not connected to D-Bus server")
Wallet kdewallet not found

また、XDG変数を最初に設定せずに:

export XDG_RUNTIME_DIR=/run/user/1000; sudo -i -u ik kwallet-query -r systeembackup kdewallet -f borg

特権プロセス/ユーザーとしてウォレットからパスワードを取得する方法はありますか?

ベストアンサー1

これを設定して達成できました

encryption_passcommand: sudo -E -u InsertUserNameHere kwallet-query -r borg-passphrase kdewallet

存在する/etc/borgmatic/config.yaml

私のBorgパスワードは次のように設定されています。

head -c 32 /dev/urandom | base64 -w 0 | kwalletcli -Pe borg-passphrase -f Passwords

おすすめ記事