私はプログラムを持っています、名前はgiverootAccessです。このプログラムは、コマンドライン引数として現在のディレクトリ(giverootAccessが存在する場所)のファイル名を受け取ることができます。次に、ファイルはルートアクセスを取得します。ファイルは、実行可能ファイルまたはシェルスクリプトにすることができます。
問題は、ハッカーがリクエストをbashにリダイレクトすることでrootアクセスを取得できることです。giverootAccessが存在するディレクトリ内のファイルにのみrootアクセスを許可するようにユーザーを制限したいと思います。ハッカーはファイル名を不要なプログラムにリダイレクトして、root権限を取得する可能性があります。
そのため、ファイルの名前ではなく、ファイルを一意に識別するメカニズムが必要です(模倣およびハッキングされる可能性があるため)。iノードはこの目的に使用できますか?
私の計画では、アプリケーションのインストール時に、すべてのファイルのiノードをディレクトリに保存し、誰かがファイル名でgiverootAccessを実行するたびに、ファイル名とそのiノードが保存されているものと一致することを確認します。一致する場合は、giverootAccessプログラムのみが実際にファイルへのrootアクセスを許可します。
この仕事をするための他の簡単なメカニズムはありますか?