我有一个运行时会产生敏感内容的 shell 脚本。它位于一个只有少数用户有权访问的盒子上。但是,我还通过以下方式添加了分层混淆以防止未经授权的使用:
- 脚本必须以 root 身份运行
- 必须向脚本传递特定的命令行参数才能产生任何输出
- 脚本已由 shell 编译器“ shc ”编码,以从普通用户(那些不知道使用 TRACE 或 STRINGS 仍查看实际代码的用户)屏蔽事实 #1 和 #2。
然后添加一层实际的安全性以再次保护更高级的用户和系统管理员,我还使用 gpg 加密了脚本。
我的问题是——是否有一个我可以运行的 gpg 命令(或其他加密方法)提示输入解密密码,并解密脚本并仅在内存中运行它(不将文件的解密版本保存到文件系统)?
我意识到敏感信息在执行时可能仍然存在于未受保护的内存中,我将单独解决。