Чтобы сделать ваши скрипты нечитаемыми, но исполняемыми, у вас есть 3 основных варианта:
Первый вариант
Используйте команду openssl, чтобы вручную зашифровать его. А в будущем, когда вы захотите запустить сценарий, вам придется снова запускать openssl вручную и указывать пароль для расшифровки.
Шифрование с помощью openssl:
cat yourscript.sh | openssl aes-128-cbc -a -salt -k yourpassword> yourscript.enc
Расшифровка с помощью openssl:
cat yourscript.enc | openssl aes-128-cbc -a -d -salt -k yourpassword> yourscript.dec
yourscript.dec будет таким же, как ваш исходный скрипт yourscript.sh
Второй вариант
Используйте сайт вроде www.Enscryption.com , чтобы автоматически зашифровать ваш сценарий и сделать зашифрованную версию исполняемого файла. Этот сайт использует возможности шифрования openssl и некоторые другие методы обфускации, чтобы злоумышленникам было довольно сложно проникнуть в ваш скрипт или раскрыть секреты, которые вы хотите скрыть. С помощью этого сайта вы можете шифровать сценарии оболочки и сценарии командной строки на perl, python, ruby. Я тоже думаю, что php.
Третий вариант
Используйте такой инструмент, как shc . Похоже, он не обновлялся с 2012 года. Но я использовал его раньше. Вы должны скомпилировать свой сценарий для каждой ОС, в которой вы хотите его использовать, если ОС отличается от той, которую вы использовали для ее компиляции.
Резюме:
Если скрытие кода имеет для вас большое значение, полагаться только на разрешения и право владения поможет вам, поскольку любой пользователь root может получить к нему доступ. Это факт.Что вы можете сделать, если действительно хотите предотвратить несанкционированный просмотр вашего кода кем-либо, - это написать сценарий вокруг команды openssl. Сделайте так, чтобы перед запуском скрипта он запрашивал пароль, а после его ввода он запускал скрипт, не записывая его во временный файл. Если это звучит слишком много, то вариантов 2 и 3 должно быть достаточно для ваших целей.