如何隐藏作为命令行参数传递的密码?
我正在运行一个软件守护程序,该守护程序需要某些操作才能输入密码来解锁某些功能,例如: $ darkcoind masternode start <mypassphrase> 现在,我的无头Debian服务器上出现了一些安全问题。 每当我使用例如搜索bash历史记录时,Ctrl+R都可以看到此超级强密码。现在,我想象我的服务器已损坏,并且某些入侵者具有外壳访问权限,并且可以简单地Ctrl+R在历史记录中找到我的密码短语。 有没有一种方法来输入密码,没有它在bash的历史显示,ps,/proc或其他地方? 更新1:不向守护程序传递密码会引发错误。这是没有选择的。 更新2:不要告诉我删除软件或其他有用的提示,例如挂起开发人员。我知道这不是最佳实践的示例,但是该软件基于比特币,并且所有基于比特币的客户端都是某种json rpc服务器,它会监听这些命令,并且仍在讨论一个已知的安全问题(a,b,c) 。 更新3:守护程序已经启动并通过以下命令运行 $ darkcoind -daemon “执行” ps仅显示启动命令。 $ ps aux | grep darkcoin user 12337 0.0 0.0 10916 1084 pts/4 S+ 09:19 0:00 grep darkcoin user 21626 0.6 0.3 1849716 130292 ? SLl May02 6:48 darkcoind -daemon 因此,使用密码短语传递命令不会ps或根本不会显示/proc。 …