Rails 生产产生的结果与使用 GPGP 加密的生产控制台不同。如何修复?
我正在使用各种 GPGR gem (https://github.com/HHRy/gpgr) 来进行 pgp 加密,当我在生产控制台中运行诸如 installed_public_keys
之类的函数时,我得到了附加到我的 PGP 密钥的电子邮件(在数组中)。但是,如果我有一个按钮在生产 GUI 中记录该函数的输出,它会输出一个空数组。
我还有一个脚本运行程序,我可以使用运行良好的生产环境标志来调用它,但是当从 crontab 作为 root 调用完全相同的行时,它会失败,提示没有安装密钥。
我假设这与每个用户拥有密钥的密钥环比环境变量有更多关系,但所有生产都使用 root 并且它让我烦恼。
I'm using a variety of the GPGR gem (https://github.com/HHRy/gpgr) to do pgp encryption, and when I run a function like installed_public_keys
in a production console I get the email (in an array) that is attached to my PGP key. However if I have a button that logs the output of that function in a production gui it outputs an empty array.
I also have a script runner that I can call with a production env flag that runs fine, but when the exact same line is called from crontab as root it fails saying that there are no keys installed.
I'm assuming that this has more to do with each user having a keyring of keys than environment variables but everything production is using root and it is bugging the crap out of me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 crontab(运行程序)运行 pgp 加密的关键是使用 --homedir 开关指定主目录。即,您可以执行以下操作,而不是使用
~/.gnupg
中的键:gpg --homedir /root/.gnupg -o file.txt.pgp -r [电子邮件受保护] -e file.txt
The key to running pgp encryption with crontab (runners) is to specify the home directory with the --homedir switch. I.e. instead of using the keys at
~/.gnupg
you can do:gpg --homedir /root/.gnupg -o file.txt.pgp -r [email protected] -e file.txt