子プロセスを生成するプログラムを書いています。セキュリティ上の理由から、これらのプロセスで実行できることを制限したいと思います。chroot
やなどのプログラム外からのセキュリティ対策は知っulimit
ていますが、それ以上のことをしたいと思っています。子プロセスによって実行されるシステムコールを制限したい(たとえばopen()
、への呼び出しを防止するfork()
など)。それを行う方法はありますか?最適には、ブロックされたシステムコールはエラーで返されるはずですが、それが不可能な場合は、プロセスを強制終了することもできます。
私はそれを行うことができると思いますptrace()
が、manページから私はこの目的のためにそれを使用する方法を本当に理解していません。