设置密码保护的bash脚本抵制/拒绝" bash -x"当给出密码时

时间:2013-12-09 10:33:40

标签: bash passwords gnupg

我想把长篇文章交给客户。即使客户有密码,客户也不能阅读脚本。以下命令锁定并解锁脚本,但忽略set +x

代码:

read -p 'Script: ' S &&
  C=$S.crypt \
  H='eval "$((dd if=$0 bs=1 skip=//|gpg -d) 2>/dev/null)";
    exit;' &&
  gpg -c<$S | cat >$C <(echo $H | sed s://:$(echo "$H" | wc -c):) - \
    <(chmod +x $C)

1 个答案:

答案 0 :(得分:4)

鉴于它是一个解释过的脚本,在某些时候必须加载到内存中并解释它是不可能完全避免任何人能够转储脚本的内容。它很容易实现,即使用围绕bash可执行文件的包装脚本...