我正在编写一个web应用程序,用户可以在服务器上执行git,bzr和hg命令。 基本上,用户将git / bzr / hg命令写入html表单,点击按钮,命令发送到服务器,并在用户拥有的目录中执行。
如何确保安全?我需要能够执行bash命令,该命令只能访问和更改一个特定目录。并且优选地,执行命令的目录不应包含其他文件。我认为这对chroot来说是必要的。
答案 0 :(得分:0)
与用户输入一样,在将其进一步传递给任何命令之前进行检查。
您可以尝试在受限制的shell(bash -r
)中运行命令,这可以防止一些事情。
更安全但更复杂的解决方案当然是chroot
甚至更好的虚拟机。