我正在编写一个 shell 脚本,需要以 root 身份运行(使用 sudo)并使用 gpg。加密工作正常,但解密由于某种原因拒绝使用我的密钥。
具体命令:
sudo gpg --homedir '/home/username/.gnupg' -d file.gpg
Run Code Online (Sandbox Code Playgroud)
失败:
gpg: WARNING: unsafe ownership on homedir '/home/username/.gnupg'
gpg: encrypted with 2048-bit RSA key, ID XXX, created YYYY-MM-DD
"John Doe <john@doe.com>"
gpg: public key decryption failed: Permission denied
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
然而,sudo gpg --homedir '/home/username/.gnupg' --list-secret-keys正确列出了密钥,并且我能够以普通用户身份使用 gpg 解密该文件(只是不能使用 sudo),因此密钥或文件没有任何问题。
我在 Manjaro 上运行 gpg 2.2.19。