我们有一个专门为用户定制的环境,用户可以通过 ssh 登录,而不是直接访问 shell,而是使用脚本代替 shell。该脚本只是在用户的 Maildir 上启动 Mutt。问题是 Mutt 有一个 escape-shell,允许用户运行他们想要的任何命令。我们可以禁用 Mutt 所需的所有 bin 和 usr/bin 命令,但最终,恶意用户仍可能使用内置的 shell 来绕过使用系统二进制文件。我们希望坚持使用 Mutt,因为它对我们的用户来说似乎最简单、最用户友好。我们考虑过 chroot jails,但它们似乎也有漏洞。我们的 MTA 使用 dovecot 运行,因此邮箱位于另一个目录中,因此如果实施了 chroot,用户将需要某种 jail 外的访问权限(即使可以设置 ACL),我们不确定这是否会有很大帮助。因此,我们正在寻找一个实际的解决方案。我们是否应该使用 openvz 容器在我们的 debian 基础设施下运行?更好的 chroot jail?我们意识到,如果禁用 perl 或 C 编译器,可能不会造成太大威胁,但我们也不是安全专家。感谢您的任何意见。