Tof*_*ots 8 permissions gpg keychain
由于缺少密钥,我目前在安装软件包时遇到问题。我的第一个计划是更新我的钥匙圈,但是“pacman-key --refresh-keys”失败了:
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Run Code Online (Sandbox Code Playgroud)
还尝试在“su”下运行它。
[user@hostname ~]$ su
Password:
[root@hostname user]# pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Run Code Online (Sandbox Code Playgroud)
尝试手动运行 dirmngr 以查看是否有任何错误。
[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[25316]: error opening '/root/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[25316.0]: permanently loaded certificates: 141
dirmngr[25316.0]: runtime cached certificates: 0
dirmngr[25316.0]: trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
Run Code Online (Sandbox Code Playgroud)
我注意到 Arch Linux 论坛上提到的“错误打开 '/root/.gnupg/dirmngr_ldapservers.conf'”。所以我创建了一个空白的“/root/.gnupg/dirmngr_ldapservers.conf”并再次运行dirmngr。如果我在没有 sudo 的情况下运行 dirmngr,我也会遇到类似的错误,所以我也创建了一个空白的“/home/user/.gnupg/dirmngr_ldapservers.conf”。
[user@hostname ~]$ sudo dirmngr < /dev/null
dirmngr[28763.0]: permanently loaded certificates: 141
dirmngr[28763.0]: runtime cached certificates: 0
dirmngr[28763.0]: trusted certificates: 141 (140,0,0,1)
# Home: /root/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
[user@hostname ~]$ dirmngr < /dev/null
dirmngr[32757.0]: permanently loaded certificates: 141
dirmngr[32757.0]: runtime cached certificates: 0
dirmngr[32757.0]: trusted certificates: 141 (140,0,0,1)
# Home: /home/user/.gnupg
# Config: [none]
OK Dirmngr 2.2.3 at your service
Run Code Online (Sandbox Code Playgroud)
删除两个“.gnupg”文件夹,运行“pacman-key --init”,然后尝试“pacman-key --refresh-keys”。
[user@hostname ~]$ sudo rm -rf /root/.gnupg
[user@hostname ~]$ sudo rm -rf /home/user/.gnupg
[user@hostname ~]$ sudo pacman-key --init
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 134 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver
Run Code Online (Sandbox Code Playgroud)
删除两个“.gnupg”目录后,我再次运行了 dirmngr。
[user@hostname ~]$ dirmngr --debug-level guru
dirmngr[18151]: enabled debug flags: x509 crypto memory cache memstat hashing ipc dns network lookup extprog
dirmngr[18151]: error opening '/home/user/.gnupg/dirmngr_ldapservers.conf': No such file or directory
dirmngr[18151.0]: permanently loaded certificates: 141
dirmngr[18151.0]: runtime cached certificates: 0
dirmngr[18151.0]: trusted certificates: 141 (140,0,0,1)
dirmngr[18151.0]: failed to open cache dir file '/home/user/.gnupg/crls.d/DIR.txt': No such file or directory
dirmngr[18151.0]: creating directory '/home/user/.gnupg'
dirmngr[18151.0]: creating directory '/home/user/.gnupg/crls.d'
dirmngr[18151.0]: new cache dir file '/home/user/.gnupg/crls.d/DIR.txt' created
dirmngr[18151.0]: DBG: chan_3 -> # Home: /home/user/.gnupg
# Home: /home/user/.gnupg
dirmngr[18151.0]: DBG: chan_3 -> # Config: [none]
# Config: [none]
dirmngr[18151.0]: DBG: chan_3 -> OK Dirmngr 2.2.3 at your service
OK Dirmngr 2.2.3 at your service
Run Code Online (Sandbox Code Playgroud)
现在我完全被困住了。我怀疑 GPG 需要的文件可能存在某种权限问题,但鉴于我已经删除了两个“.gnupg”目录并且它们已经重新生成,我看不出有什么问题。
我也尝试了这个 wiki 页面上的所有内容:https : //wiki.parabola.nu/Parabola_Keyring一切正常,包括“sudo pacman-key --populate archlinux archlinux32 archlinuxarm parabola”命令但“pacman-key --refresh-keys " 仍然给了我权限错误。
刚刚尝试直接用 gpg 刷新我的钥匙圈:
[user@hostname ~]$ sudo gpg2 --refresh-keys
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
Run Code Online (Sandbox Code Playgroud)
然后尝试用 pacman-key 来做:
[user@hostname ~]$ sudo pacman-key --refresh-keys
gpg: refreshing 135 keys from hkp://pool.sks-keyservers.net
gpg: keyserver refresh failed: Permission denied
==> ERROR: A specified local key could not be updated from a keyserver.
Run Code Online (Sandbox Code Playgroud)
所以失败了。尝试使用 gpg2 查看输出是否相同:
[user@hostname ~]$ sudo gpg2 --refresh-keys
Run Code Online (Sandbox Code Playgroud)
没有任何输出,所以我怀疑它创建的文件与我当前的问题有关。
作为最后的努力,我尝试没有 sudo 并且没有输出:
[user@hostname ~]$ gpg2 --refresh-keys
Run Code Online (Sandbox Code Playgroud)
仍然坚持这一点。甚至安装了 kgpg 来手动生成 gpg 的配置文件。但是,我仍然收到这个该死的权限错误。