私の質問はこのquestionと似ていますが、私は自分の答えを得られませんでした。Linuxのプログラムの許可を変更する
私は裁判官をデザインしようとしています。
オンラインジャッジシステムのユーザーがソースコードを送信すると、 サーバープログラムがコンパイルされ実行されます。したがって、サーバープログラムは サーバーを安全に保つ必要があります。
また、ユーザーがサーバーを変更するために使用できることはたくさんあります。
プログラムの許可を変更するにはどうすればよいですか?コンパイルされたコードは何かを印刷する以外は何もできません!
P.S:疑わしい単語を検索することはお勧めできません。例えば、ユーザはC++で次のコマンドの代わりに、言葉system
を使用することができます。
#define glue(a,b) a ## b
glue(sys,tem) ("rm *"); //DO NOT RUN THIS CODE
だから、実際にユーザーが単語system
使用せずに、次のコードを使用:
system ("rm *"); //DO NOT RUN THIS CODE
オンザフライで作成されたVM-esまたはコンテナで実行します。 –