【发布时间】:2010-09-30 13:13:25
【问题描述】:
我有一个脚本,它在自身内部启动一个带有秘密参数的命令。例如:
#!/bin/bash
command-name secret
在运行命令时,我可以阅读 ps -ef | grep command-name 这是秘密。
有没有什么办法可以通过ps -ef,混淆命令行参数?
【问题讨论】:
-
该命令是否通过输入文件或流接受秘密参数?
-
请注意,脚本本身是可读的,因此任何有兴趣找到它的人都可以看到这个秘密。为了让用户能够运行 shell 脚本,该脚本必须是可读的——或者您必须使用 SUID 程序来运行该脚本的受保护副本,或者其他类似的变形。
-
这是一个很好的答案:使用 Scott James Remnant netsplit.com/hiding-arguments-from-ps 的技巧修改 /proc/PID/cmdline