Dav*_*rks 6 linux bash command-line password-protection command-line-arguments
如果我使用密码作为命令行参数,则在系统上使用密码ps
.
但是,如果我在一个bash shell脚本中,我会做类似的事情:
...
{ somecommand -p mypassword }
...
Run Code Online (Sandbox Code Playgroud)
这仍然会出现在流程列表中吗?或者这样安全吗?
命令行将始终可见(如果仅通过/ proc).
所以唯一真正的解决方案是:不要.您可以在stdin或专用的fd上提供它:
./my_secured_process some parameters 3<<< "b@dP2ssword"
Run Code Online (Sandbox Code Playgroud)
像一个脚本(简单第一)
#!/bin/bash
cat 0<&3
Run Code Online (Sandbox Code Playgroud)
(此示例只会将错误密码转储到stdout)
现在您需要关注的是: