0

我正在编写一个 web 应用程序,用户可以在其中在服务器上执行 git、bzr 和 hg 命令。基本上,用户将 git/bzr/hg 命令写入 html 表单,点击按钮,命令被发送到服务器,并在用户拥有的目录中执行。

我怎样才能保证这个安全?我需要能够执行只能访问和更改一个特定目录的 bash 命令。最好是,执行命令的目录不应包含其他文件。我认为这对于 chroot 是必要的。

4

1 回答 1

0

与用户输入一样,在将其进一步传递给任何命令之前对其进行检查。

  • 它是有效的 git/bzr/hg 子命令吗
  • 是否有带有附加无关命令的分号
  • ...

您可以尝试在受限 shell ( bash -r) 中运行命令,这会阻止一些事情。

更安全但更复杂的解决方案当然是chroot虚拟机,甚至更好。

于 2012-10-29T14:33:32.960 回答