Сделать защищенный паролем скрипт bash сопротивляться / отказывать "bash -x", когда пароль задан

Я хочу передать свои длинные сценарии клиенту. Клиент не должен иметь возможность читать сценарии, даже если у него есть пароль. Следующая команда блокирует и разблокирует скрипт, но 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 ответ

Учитывая, что это интерпретируемый скрипт, который в какой-то момент должен быть загружен в память и интерпретирован, невозможно полностью избежать того, чтобы кто-либо мог выкинуть содержимое скрипта. Это может быть легко достигнуто, т. Е. С помощью сценария-оболочки вокруг исполняемого файла bash...

Другие вопросы по тегам