0

ユーザーがサーバー上でgit、bzr、およびhgコマンドを実行できるWebアプリケーションを作成しています。基本的に、ユーザーはgit / bzr / hgコマンドをhtmlフォームに書き込み、ボタンを押すと、コマンドがサーバーに送信され、ユーザーが所有するディレクトリで実行されます。

どうすればこれを安全にできますか?1つの特定のディレクトリにのみアクセスして変更できるbashコマンドを実行できる必要があります。また、コマンドが実行されるディレクトリに追加のファイルが含まれていてはなりません。これはchrootに必要だと思います。

4

1 に答える 1

0

ユーザー入力の場合と同様に、コマンドに渡す前に確認してください。

  • 有効なgit/bzr/hgサブコマンドですか
  • 無関係なコマンドが追加されたセミコロンはありますか
  • ..。

制限されたシェル()でコマンドを実行してみるとbash -r、いくつかのことが妨げられます。

より安全ですが、より複雑なソリューションは、もちろん、chroot仮想マシンまたはさらに優れた仮想マシンです。

于 2012-10-29T14:33:32.960 に答える