我正在编写一个包含一些受密码保护的文件(密钥)的构建脚本。我需要一种方法来提示用户一次输入密码,然后在多个脚本中使用此密钥。这些脚本不在同一 shell 中,并且可能通过dbus生成其他窗口。然后,我可以向他们发送命令,其中之一必须有权访问密码。

我已经进行了这项工作,但是在某些时候,密码短语要么直接在命令行上使用(通过dbus传递),要么被放入文件中(名称随后传递给其他脚本)。两者都不如我所愿*安全。命令行以历史记录结尾,该历史记录可以存储在文件中,也可以出现在进程列表中,第二个选项存储在文件中,其他人可以读取。

是否有某种标准方法在两个进程之间创建一个临时通信通道,该通道可以传达密码并且不会被系统上的另一个用户(包括root)截获?

*注意:这主要是一项完全安全的练习。对于我当前的项目,密码的临时文件内存储是可以的。

最佳答案

撇开“ super 强者”不谈,我可以想象Private DBus Connection可以解决问题,尽管我可以找到的文档似乎对使私有(private)连接真正私有(private)化有一点点了解。

但是,the DBus Specification,更具体地说,关于窃听的Message Bus Specification小节部分说:



因此,您甚至不需要使用会导致更多开销成本的专用连接。但是以风险/返回为基础,而安全性至关重要,这对您来说可能是更安全的选择。希望能有所帮助。

关于linux - 安全地将密码传达给另一个程序(单独的shell/dbus),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21277039/

10-11 04:10