我的.bashrc文件中有一些函数,用于在远程网站上发出备份命令。现在,用户名和密码字段作为函数本地字符串存储在函数定义中的纯文本中。有更好的方法吗?
到目前为止,我的想法是将密码的散列版本放入只有我的用户帐户才能读取的文件中,在该文件上运行反哈希命令行函数,并将纯文本结果存储在内存中,使用它,然后清除它。
是否有一种更好/更安全甚至是事实上的共同方式来实现这一目标?
谢谢。
发布于 2015-03-28 21:40:09
有两种方法可以让我安全地解决这个问题。
1. GPG
保存一个GPG加密文件,其中包含key=value格式的密码(shell基本上是可解析的),每行一个。例如:
foo_pass='bar'
pop_pass='tart'当您想访问它们时,只需:
eval "$(gpg -d /path/to/file | grep '^foo_pass=')"
SUPERSECRETPASSWORD="$foo_pass" somecmd如果命令需要密码作为参数(这是不安全的),只需调整最后一行即可。
2. Keyring守护进程
根据您的操作系统,您可能可以访问一个密钥环,您可以将您的密码存储在其中。在linux上,这可能是gnome密钥环守护进程。然后,这个键环可能可以通过CLI/script访问。例如,有用于gnome keyring守护进程的键环。
https://stackoverflow.com/questions/29318007
复制相似问题