加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 从Unix上的命令行参数隐藏秘密

发布时间:2020-12-15 19:08:16 所属栏目:安全 来源:网络整理
导读:我有一个脚本,在其中启动一个带有一个秘密参数的命令。例如: #!/bin/bashcommand-name secret 在运行命令时,我可以通过ps -ef |读取grep命令名,这是秘密。 有没有办法以通过ps -ef,命令行参数被模糊化的方式隐藏秘密? 如果秘密在执行之间没有改变,请
我有一个脚本,在其中启动一个带有一个秘密参数的命令。例如:
#!/bin/bash
command-name secret

在运行命令时,我可以通过ps -ef |读取grep命令名,这是秘密。

有没有办法以通过ps -ef,命令行参数被模糊化的方式隐藏秘密?

如果秘密在执行之间没有改变,请使用特殊的配置文件“.appsecrets”。将所有权限的文件权限设置为只读。文件内部设置环境变量为秘密。该文件需要在运行命令的用户的主目录中。
#!/bin/bash  
#filename: .appsecrets
set SECRET=polkalover

加载配置文件,以便设置环境变量。

. ~/.appsecrets

我看过的完成了

1)
echo $ SECRET |命令

如果命令从stdin AND提示输入密码,并且“echo”是您的shell的内置函数,则可以正常工作。我们正在使用Korn。

2)
密码= $ ENV { “秘密”};

如果您有代码的控制(例如perl或C)

3)
。 ./.app.config #sets环境变量
isql -host [host] -user [user] -password<& SECRET
$ {} SQLPASSWORD
秘密

如果命令可以接受std-in中的秘密,则可以工作。一个限制是<< string必须是给命令的最后一个参数。如果存在必须在-password之后出现的非可选参数,这可能会很麻烦 这种方法的好处是你可以安排它,所以秘密可以隐藏在生产中。在生产中使用相同的文件名,但它将在生产中运行命令的帐户的主目录中。然后,您可以锁定访问秘密的权限,就像访问根帐户一样。只有某些人可以’su’到prod帐户查看或维护秘密,而开发人员仍然可以运行程序,因为他们在他们的主目录中使用自己的’.appsecret’文件。 您可以使用此方法来存储任何数量的应用程序的安全信息,只要他们为其秘密使用不同的环境变量名称即可。 (错误的方法)我看到使用DBA的一个旧方法是将SYBASE设置为“/opt/././././././././././././././././././././././”。 /./././././././././././././././././sybase/bin”。所以他们的命令行已经很久了ps被截断了。但是在linux中,我想你可能能够从/ proc中嗅出完整的命令行。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读