首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GPG无法连接到S.gpg-agent:连接被拒绝

GPG无法连接到S.gpg-agent:连接被拒绝
EN

Stack Overflow用户
提问于 2019-12-02 21:00:15
回答 1查看 4.4K关注 0票数 0

我正在尝试使用gpg代理来设置gpg预设的密码缓存,这样我就可以自动化我的文件加密过程。为了使gpg -代理运行并正确缓存密码,似乎需要在我设置gpg和gpg-agent时在根目录中生成的~/..gnupg/目录中有一个S.gpg-agent套接字。

我所做的(这似乎在过去起作用)是,我会以根用户的身份启动一切,并将/.gnupg目录的内容复制到特权较低的用户,并将该套接字和目录的权限授予该用户。我运行的启动gpg代理守护进程和缓存密码的命令:

代码语言:javascript
运行
复制
gpg-agent --homedir /home/<user>/.gnupg --daemon
/usr/libexec/gpg-preset-passphrase --preset --passphrase <passphrase> <keygrip>

get进程似乎运行得很好,但是我从第二行得到了下面的错误:

代码语言:javascript
运行
复制
gpg-preset-passphrase: can't connect to `/home/<user>/.gnupg/S.gpg-agent': Connection refused
gpg-preset-passphrase: caching passphrase failed: Input/output error

我已经确保套接字存在于具有适当权限的目录中,并且该进程作为root运行。即使我复制和修改权限,这个套接字似乎仍然内在地绑定到根。所以我的问题是

  1. 这个套接字是如何被初始化的?
  2. 有办法作为另一个用户手动完成吗?

另外,代理进程似乎对两个用户都运行得很好,但我有点模糊的地方是gpg预设的密码是如何使用套接字的,如果是那个或代理拒绝连接到S.gpg-agent,我也假设我不需要显式地启动代理,但我想我会这样做,这样我就可以在需要时设置任何值,比如homedir。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-05 14:56:54

事实证明,这个问题与gpg-agentgpg-preset-passprhase无关。

注:这不是一个永久的解决办法,但它确实使我能够克服我所面临的问题。

在修改/etc/selinux/config并禁用SE之后,我不再经历上述权限问题。SE是由Red开发的Linux内核安全模块(我目前正在RHEL7上运行这个模块)。看来下一步可能是确保允许我的用户使用audit2allow访问这些二进制文件和包。这里有更多关于这个的信息:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-fixing_problems-allowing_access_audit2allow

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59146587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档