我在linux启动(Debian)上使用gpg时遇到了一个问题。
我有一个使用rc.local在启动时加载的进程。此过程将使用gpgme调用gpg verify接口。我发现,通过手动运行该进程,gpg工作得很好,而使用rc.local gpg加载该进程则无法工作。(rc.local在启动时运行。)当我尝试执行以下操作时,启动时没有钥匙:
gpg --list-keys我猜是在加载密钥(trustdb.gpg)之前调用了rc.local。你知道在内核启动时我们在哪里加载公共gpg密钥吗?
发布于 2013-09-04 21:03:54
您在rc.local中运行的脚本是否具有适当的权限(例如,它是否通过su连接到有权读取gpg数据库的用户以外的其他用户?)Root当然总是有访问权限,但是当创建gpg db时,它总是在用户特定的级别上,所以如果该用户没有访问权限,它将无法工作。正如上面的注释所述,使用su切换到适当的用户,然后指定gpg home dir:
su user
gpg --homedir ~/.gnupg.userkeyringhttps://stackoverflow.com/questions/14553585
复制相似问题