ユーザースクリプトの実行制限

ユーザースクリプトの実行制限

Debianサーバーでゲームエンジンを実行しています。このゲームには、プレイヤーがPythonでコーディングしたロボットが含まれています。

  1. プレイヤーはPythonでロボットを作成します。
  2. 確認後、コードがサーバーに送信されます。
  3. Pythonスクリプト実行コード

ボットのスクリプトは一般的なPythonスクリプトなので、プレイヤーはその中で何をしたいのかをすることができます。プレイヤーがモジュールをインポートすることができますが、サーバーを損傷しないことを願っています(例:サーバーファイルシステムの検索、ファイルの削除、またはもっと悪い)。

次のことを知ってスクリプトがシステムを中断させないようにするにはどうすればよいですか?

  • スクリプトはTCP / IPを介してゲームエンジン(localhost)と通信できる必要があります。
  • プレーヤーが標準のPythonモジュールをインポートしたいと思います。
  • 後で、ゲームは他のスクリプト言語(Ruby、Perl、Lua、JS...)をサポートする予定です。

私は1つのアプローチがユーザーとグループで遊ぶことだと思います。もう一つはFreeBSD刑務所に似ているかもしれません。私はこれらの方法に慣れていません。

答え1

欲しいものは何でも使えます。chrootまたは多分長沙Debian で。

編集:
現在実行中のタスクをより速く(即時)作成するには、overlayfsまたはsquashfsを使用できます。これにはdebootstrapとsquashfs-toolsが必要です。

これらのツールを使用すると、ユーザーに選択できるさまざまなランタイムバージョンまたはアーキテクチャを提供できます。これにはとqemu-user-staticが必要ですChrootDebootstrap

関連情報