コンパイルされたコードとは異なり、インタプリタを使用して作成したコードを実行したい共有リモートシステムにアクセスできます。リモートシステムへのrootアクセス権を持つ他のユーザーからこのソースコードを保護したいと思います。 Linuxで暗号化されたフォルダを作成する方法はいくつかあります。私はディスクに多くのデータを書き込まないので、暗号化プロセスによってI / Oが遅くなることを心配することなく、主にこのコンピュータで多くのCPUと多くのRAMを使用しています。
私の質問は、ログインしてファイルシステムをマウントするときにこれらの暗号化オプションを使用すると、rootユーザーからデータを保護できるかどうかです。 1つの主な問題は、rootとして実行されているcronジョブがバックアップを実行すると、ソースコードがユーザーも知らないように他のファイルシステムに自動的にコピーされ、暗号化されなくなることです。
答え1
あなたのデータにアクセスできる場合、ルートはあなたのデータにアクセスできます。ルートを信頼する必要があります!
リモートマシンの暗号化されたデータにアクセスしても、ルートはこれを見ることができます(ルートが提供するツールを使用していますか?)。
ファイルへのアクセスをより難しくすることができますが、決して不可能ではありません。データを保存するには、信頼できないコンピュータを使用しないでください。
答え2
マシンでネットワークブロックデバイスサーバーを実行し、それを自分のマシンにローカルにインストールできます。これにより、リモートルートは暗号化されたデータストリームのみを表示できます。ただし、リモートボックスは暗号化されていないデータにアクセスできません。
リモートボックスが独自に復号化を実行してデータ自体にアクセスできる場合、リモートルートもデータにアクセスできます。それについて私たちができることは何もありません。
あなたのコードを実行するボックスを所有している人を信頼できる必要があります。
答え3
簡単に言えば、ルートでアクティビティを難読化する方法はいくつかあります(暗号化されたファイルコンテナの作成、ローカルではなくキーファイルへのロック解除、およびデータの保存)。しかし、最終的にrootアクセス権を持つ誰かが固執している場合、その情報を見つけることはそれほど難しくありません(たとえば、データにアクセス/暗号化するプロセスにはstraceを使用してください)。これを風刺的に受け入れないでください。しかし、何かを実行する必要がある正当な理由がある場合、他の人は本当に望んでいません。コードを表示するには、パソコンを要求する必要があります。