Я пишу сценарий оболочки на своей пользовательской плате. В этом скрипте я использую openssl для кодирования файла во время выполнения с помощью этой команды:
openssl des3 -salt -in file.txt -out my_file.des3 -k my_password
Есть ли способ избежать написания четкого пароля в сценарии sh? Пароль должен быть установлен в среде разработки. Этот пароль не должен знать даже пользователь root. Является ли это возможным?
Многие программы принимают пароли через внешний файл или переменные env. Второй вариант довольно просто реализовать в собственных скриптах:
openssl des3 -salt -in file.txt -out my_file.des3 -k $PASS_VAR
Поскольку я могу сгенерировать прошивку для своей платы, я хотел бы реализовать что-то вроде файла / etc / shadow, но с моим паролем. Я не знаю, возможно ли это. Конечно, у пользователя будет привилегия root, и это увеличивает сложность.
Использование внешнего файла паролей или переменных env может позволить мне избежать включения четкого пароля в скрипт, но, очевидно, пользователь root может видеть все.
На данный момент я думаю, что лучшим решением является использование переменных env, даже пользователь root может это увидеть.
Root все видит. Если ваш сценарий должен запускаться без присмотра, вам не повезло. Если нет, вы можете ограничить доступность пароля по времени, попросив пользователя ввести пароль или использовать ssh или gpg агент для шифрования / дешифрования.