Просто чтобы прояснить, " не может прочитать файл " означает " не может запустить программу ", что означает " не может видеть, какой процесс запущен"см. файлы в каталогах".
По вашему вопросу, я не понимаю, почему вы бы даже оставили пользователя pi
на месте ...
... запускает бэкэнд-программы с правами суперпользователя
Никогда хорошая идея - вместо этого используйте учетные записи служб.
Но я не хочу любопытного клиента, который подключается через HDMIи посмотрите мой код.
Тогда не включайте выход HDMI, не устанавливайте графический рабочий стол и не отключайте приглашение для входа в систему.Возможно, вы захотите взглянуть на изображение « минимальное » / « lite ».
Помните, что UART может отображать приглашение для входа в систему, поэтому убедитесь, что оно также отключено.
И так как config.txt
и ядро должны быть в открытом тексте в загрузочном разделе, их можно легко поменять местами ... таким образом, эти шаги не будут ужасно эффективными.
Я также не хочу, чтобы он брал SD-карту и извлекал код.
Вы могли бы взглянуть на шифрование файловых систем (например, LUKS), но Raspberry Pi не имеет встроенной способности хранить данныеи идентифицировать себя ... так что ваш ключ шифрования может быть только чем-то вроде MAC-адреса или храниться в незашифрованном виде на SD-карте ...
По сути, это будет просто сдерживающим фактором от случайного " о, что это за"расследования.
" Физический доступ - это полный доступ"... как только вы отдаете его в руки клиента, вы смотрите на сдерживающие средства больше, чем на абсолютные.
Я слышал егоssible для обратного проектирования кода, даже если он скомпилирован.Поэтому я просто хочу, чтобы программы (сценарий Python) были там, но доступ к ним никак не возможен.
Python не компилируется до времени выполнения, поэтому вам необходимо отправить устройство с вашимисходный код на нем ...
Если вы действительно хотите защитить свою Интеллектуальную собственность , то, возможно, Raspberry Pi не лучший вариант?Вам решать балансировать стоимость и безопасность.