有没有办法让 getmail 从 gpg 加密文件中获取密码,而不是将其保留为纯文本?
答案1
是的你可以。
将您的密钥添加到 gpg-agent 或 gnome-keyring,然后配置gpg -d
或pass
写入标准输出而不提示密钥解锁。请注意仅在文件中包含密码。在~/.getmail/getmailrc中:
password_command = ("/usr/bin/pass","email/gmail.pw")
我从官方网站安装了 getmail 5.5,而不是使用 ubuntu-xenial repo (4.48) 来使 password_command 正常工作。
答案2
据我了解,getmail
可以从以下位置获取密码
- 从文件中的密码配置项来看
getmailrc
, - 来自 OS X 钥匙串(仅限 macOS),
- 在支持 Gnome 密钥环的系统上,从默认的 Gnome 密钥环,
- 如果通过上述任何方法都找不到,
getmail
运行时将提示输入密码。
(参考:http://pyropus.ca/software/getmail/configuration.html)
在我看来,将密码存储在 GnuPG 加密文件中将需要您解密该文件(使用您的 GnuPG 密码),然后以某种方式将其输入,getmail
而不将其存储在中间的纯文本文件中(可能使用expect
?)。
getmail
直接提示您输入邮件密码(上面的选项 4)会更简单,并且不太容易意外地将未加密的邮件密码留在某处。
答案3
我知道这是一个老问题,但这里有一个更新,以防有人遇到它。根据记录,输入密码并不总是方便甚至可行 - 所以这是一个合理的问题。用户可能拥有许多帐户并通过 cron 作业运行任务。
安全管理密码的正确方法是通过gnome-keyring
。我说“是”是因为每个人似乎都升级到了一个名为“keyring”的新 python 库。 python-gnomekeyring
Ubuntu 上甚至不再可用。不幸的是,getmail
它没有更新它的依赖项——并且只是抱怨--store-password-in-gnome-keyring
当它找不到它时这不是一个有效的选项。截至目前,还没有安全的方法来管理密码getmail
。当然,由于 Python 2 现在已被弃用,并且getmail
是用 Python 2 编写的,所以它的日子已经屈指可数了。不过,似乎没有可行的替代方案。
奇怪的是,技术越先进,我们似乎能用它做的事情就越少:)