kwallet은 루트 사용자로 비밀번호를 얻습니다.

kwallet은 루트 사용자로 비밀번호를 얻습니다.

현재 다음을 사용하여 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.

전체 시스템 백업을 수행할 수 있도록 백업 작업이 루트 사용자로 실행되므로 이 명령으로 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

관련 정보