0

ユーザーが自分で登録して、JavaおよびC++プログラムを自分のアカウントに保存できるWebアプリケーションがあります。プログラムは、/ tmp -user1 --program1 --program2 -user2--program1--program2のようなtmpディレクトリに保存されます。

したがって、すべてのユーザーフォルダは同じ「tmp」ディレクトリにあります。ユーザーが他のユーザーのファイルにアクセスできないようにすることで、セキュリティを証明するにはどうすればよいか知りたいです。ユーザーは、サーバー上のファイルの読み取りに使用できるjavaまたはc++プログラムを自分のフォルダーで実行します。これを防ぐ方法は?私はこのことに慣れていないので、どうすればいいのかわかりません。

サーバーはLinuxサーバーであり、プロジェクトはDjangoを使用するPythonです。

少し早いですがお礼を

4

1 に答える 1

1

各プロセスがシステムを認識するものを分離する何かが必要です。FreeBSDを使用している場合は、Jailsシステムが最適なソリューションになります。

Linuxの代替手段として、 Linux vserverインスタンスを検討するか、弾丸をかじってXenのようなヒーバー仮想化環境をセットアップすることを検討できます。

これらは両方とも、基本的に、特定のディレクトリをルートとして使用する仮想サーバーのインスタンスを実行できるようにする仮想化ソリューションです。プロセスはホストシステムと同じカーネルで実行されますが、システムの他の部分からは分離されています。ネットワークスタックとプロセスツリーをさらに分離した「chroot」のように考えてください。新しいjailまたはvserverのセットアップと破棄に関連する作業は、非常に高速になる可能性があります。

可能であれば、FreeBSDに切り替えることをお勧めします。Jailsは、Linuxの(現在は衰退している)vserverソリューションよりもはるかに活気のある開発とサポートコミュニティを楽しんでいます。

于 2012-04-05T11:25:59.953 に答える