我使用一个名为 的密码管理器pass
。它在第一次调用时会要求输入主密码。它似乎缓存了主密码以避免重写它。出于安全原因,我想设置超时。
我查看了 中的密码脚本/usr/bin/pass
。我并没有因此而变得更明智。我怀疑 这gpg-agent
与此有关。我尝试了 中的答案/评论这里。他们没有提供帮助。
问题:如何清除主密码缓存?
如果它有内置超时功能,那就太好了。否则,它只是一个简单的cronjob
。
答案1
如果您使用 gpg-agent,所有密码(包括主密码)都存储/保存在 中~/.password-store
。
从“通”网站:
将会有一个使用标准
gpg-agent
(可以配置为保持身份验证几分钟),因为所有密码都是加密的。
gpg-代理手册页:
--default-cache-ttl n Set the time a cache entry is valid to n seconds.
The default is 600 seconds.
--default-cache-ttl-ssh n Set the time a cache entry used for SSH keys
is valid to n seconds.
The default is 1800 seconds.
--max-cache-ttl n Set the maximum time a cache entry is valid to n seconds.
After this time a cache entry will be expired even if it has been accessed recently.
The default is 2 hours (7200 seconds).
--max-cache-ttl-ssh n Set the maximum time a cache entry used for SSH keys is valid
to n seconds. After this time a cache entry will be expired even if
it has been accessed recently.
The default is 2 hours (7200 seconds).
和 ...
gpg-代理配置文件
这是 gpg-agent 在启动时读取的标准配置文件。它可能包含任何有效的长选项;前两个破折号不能输入,选项也不能缩写。此文件也在 SIGHUP 之后读取,但实际上只有少数选项会产生效果。此默认名称可以在命令行上更改(请参阅:[option --options])。您应该备份此文件。
只有您实际使用 gpg-agent 时才会读取此信息。如果是“seahorse”(Ubuntu 中的默认设置),则会忽略 gpg-agent)。
因此,您可以将 4 个参数中的任何一个放入配置文件中,并以秒为单位设置保持密码有效的时间(包括主密码,因为它也存储在 中)。要释放密码,您可以使用echo RELOADAGENT | gpg-connect-agent
(参见手册了解更多选项)。