私はキーボードなどのWebアプリケーションを作成していますが、各実行ジョブに対して私のアプリケーションはディレクトリ(/home/radeks/voidptr/private/chroot-root
)をにコピーします/tmp/voidptr/[random-id]/chroot-root
。このchrootディレクトリには、Webアプリケーションユーザーが入力したコードをコンパイルして実行するユーザーがあります。問題は、ユーザーがコンピュータをシャットダウンしたり、ソケットなどを使用したくないことです。
監督者を作成する必要がありますか?それとも、各ユーザーに対してこれらの権限を簡単に設定できますか?
ベストアンサー1
Chrootはファイルシステムへのアクセスのみを制限します。 root権限がある場合、chrootはセキュリティ制限ではなく不便です。一般ユーザーはソケットを使用できますが、システムをシャットダウンすることはできません。
機能、AppArmor、SELinuxなど、ユーザーが実行できる操作を制限する方法はたくさんありますが、最も簡単な方法はWebアプリユーザーを仮想マシンに制限することです。ネットワーク接続、リソース使用量などを簡単に制限できます。あなたのユースケースには、軽量のLinux-on-Linux仮想マシン技術が最善のようです。オープンVZ、ユーザーモードLinuxまたは仮想サーバー。