Para tornar seus scripts ilegíveis, mas executáveis, você tem três opções principais:
Primeira opção
Use o comando openssl para criptografá-lo manualmente. E, no futuro, quando você quiser executar o script, terá que executar o openssl manualmente novamente e fornecer a senha para descriptografar.
Criptografia com openssl:
cat yourscript.sh | openssl aes-128-cbc -a -salt -k yourpassword > yourscript.enc
Descriptografia com o openssl:
cat yourscript.enc | openssl aes-128-cbc -a -d -salt -k yourpassword > yourscript.dec
o yourscript.dec será o mesmo que o seu script original, yourscript.sh
Segunda opção
Use um site como www.Enscryption.com para criptografar automaticamente o seu script e tornar a versão criptografada do script executável. Este site usa os recursos de criptografia do openssl e alguns outros métodos de ofuscação para dificultar a intrusão em seu script ou desvendar segredos que você deseja ocultar. Com este site, você pode criptografar scripts de shell e scripts de linha de comando perl, python, ruby. Eu acho que também php.
Terceira opção
Use uma ferramenta como shc . Parece que não foi atualizado desde 2012. mas já o usei no passado. Você tem que compilar seu script para cada sistema operacional no qual você deseja usá-lo, se o sistema operacional for diferente daquele que você usou para compilá-lo.
Resumo:
Se ocultar seu código é de grande importância para você, confiar apenas em permissões e propriedade vai ajudá-lo, já que qualquer pessoa com root pode obtê-lo. Isso é apenas um fato. O que você pode fazer, se você realmente quer impedir a visualização não autorizada de seu código por qualquer pessoa, é escrever um script em torno do comando openssl. Faça com que, antes de o script ser executado, ele solicite uma senha E, depois que a senha for fornecida, ele será executado sem escrevê-lo em um arquivo temporário. Se isso soa como muito trabalho, as opções 2 e 3 devem ser suficientes para seus propósitos.