bash - openssl pass 参数是否通过 bash 安全?
问题描述
openssl 手册页说 openssl 命令的“-pass pass:[password]”选项不安全,因为它对诸如 之类的实用程序可见ps
,但是通过 bash 是否安全?
像这样:
#!/bin/bash
read -s psword
openssl enc -pass pass:$psword -aes-256-cbc -in text.plaintext -out text.encrypted
我在我的电脑上运行了这样的程序,ps
似乎看到的都是“ openssl
”。其他实用程序能否看到密码?
解决方案
在任何操作系统中,命令行通常都很容易从任何进程中正常获取。请参阅此答案以获取进程的命令行。因此,无论是 bash 还是某些自定义应用程序,什么“启动”该过程并不重要。这就是给出该建议的原因。
任何这些事情都归结为风险。如果您接受它不那么安全的风险,那么没有理由不使用命令行(即它是您的机器,而您是唯一使用它的人)。如果很多人可以看到您的进程会话并且可能看到敏感密码,那么风险可能不值得。由您决定风险是否可以接受。
推荐阅读
- jquery - 检查列表中的每个href是否包含问号(?)并添加&符号(&) - jquery
- typescript - 将对象元组合并为一种对象类型
- java - Hibernate 未在新线程 {org.hibernate.exception.GenericJDBCException: could not extract ResultSet} 中从数据库加载数据
- javascript - 添加多个选中的默认值选择 2 jQuery 选择框
- c++ - 为什么 int arr[]={0,3,2,4,5,6,7}; 给出错误和 int arr[7]={0,3,2,4,5,6,7}; 不是
- .net-core - 读取 dotnet core 上的用户配置文件相关文件
- objective-c - iOS - 无法将 .MOV 和 .jpg 保存为 LivePhoto - 显示错误 NSCocoaErrorDomain Code=-1 [目标 C]
- docker - 为什么没有在 docker swarm 中运行的 kafka 端口?
- reactjs - 如何在渲染中调用方法而不是componentDidUpdate?
- android - 如何安全退出 Android Camera2BasicFragment 并在下一个活动中显示捕获的图像?