amp*_*ine 5 linux perl command-line
假设我编写了一个名为"foo.pl"的Perl脚本,该脚本通过-p
交换机接收密码参数.
但是,在它运行时,任何人都可以执行ps
并查看整个命令行字符串,包括密码:
$ ps a |grep 'foo\.pl'
32310 pts/4 S+ 0:00 /usr/bin/perl -w ./foo.pl -p password
32313 pts/5 S+ 0:00 grep foo.pl
Run Code Online (Sandbox Code Playgroud)
隐藏密码并用类似的东西替换它的最简单/最简单的方法是什么xxxxxx
?
从脚本内部询问密码,这样您就不必将其作为参数传递。
显然这对我有用,模拟一种mysql
行为:
#!/usr/bin/perl
($0 = "$0 @ARGV") =~ s/--password=\K\S+/x/;
<STDIN>;
$ ./s --user=me --password=secret
^Z
$ ps
PID TTY TIME CMD
1637 ttys000 0:00.12 -bash
2013 ttys000 0:00.00 ./s --user=me --password=x
Run Code Online (Sandbox Code Playgroud)
MacOS 10.6下
归档时间: |
|
查看次数: |
3343 次 |
最近记录: |