通常のユーザーが実行できるようにしたいファイルがあります。例えば
./file 引数 1 引数 2 引数 3
ただし、ユーザーを制限したいので、それが彼ができる唯一のことです。彼が他のフォルダーやファイルにアクセスできないようにしたくありません。基本的にそのファイルを実行するだけです。rbashのことは聞いたことがありますが、セキュリティなどについてはわかりませんでした。
それが役立つ場合は、各ユーザーのホームディレクトリにファイルを配置できます。
ユーザーにプログラムを実行させる安全な方法を探しているだけなら、Unix と Linux はデフォルトでこの機能を提供しています。
実行可能ファイルをユーザーのホーム ディレクトリに置くだけです (ユーザーがファイルの「所有者」になります)。
Unix/Linux ユーザー (およびこのユーザーに代わって実行されるプログラム) は、他のユーザーのディレクトリ/ファイルにアクセスできません (特に、「ルート」に属するものにはアクセスできません)。
通常、このアプローチは、ほとんどのアプリケーションにとって安全であると考えられています。
あなたのニーズがこの行よりも遅れている場合は、chroot を使用して実行可能プログラムを「投獄」することができます。ここを参照してください:
http://en.wikipedia.org/wiki/Chroot
この手法は、ネットワーク (HTTP サーバーや FTP サーバーなど) にさらされている間にマシン上で実行される、危険な可能性のあるプログラムを監禁するためによく使用されます。
難しいのは、ファイルシステム リソース (ファイル/ディレクトリ) が 0 で終わるパーミッション シグネチャ (たとえば 750) を持っていることを確認する必要があることですother
。またはそのファイルシステム要素に関連付けられたグループに属しています)。次に、どのグループにも属さないユーザーを追加し、そのユーザーをホーム ディレクトリ内のそのファイルの所有者にします。
もっと良い方法があれば、知りたいです。