我们正在考虑为会员的电子邮件客户端提供 mutt。用户的 shell 是Maildir
文件夹上启动的 mutt 应用程序。到目前为止,它运行良好,但有一个大问题是 shell-escape 功能。这将允许用户使用 shell-builtins 在系统上执行任意代码。
有没有办法禁用 mutt 中的 shell-escape?否则,我们正在考虑使用 Alpine,并希望它也没有 shell-escape 功能。
答案1
具体shell
使用的mutt
是一个编译时选项:
$ mutt -v | grep -i shell
EXECSHELL="/bin/sh"
您需要重新编译mutt
以使用rbash
asEXECSHELL
而不是sh
。您还需要确保rbash
得到适当的保护,因为它本身并不是一个完整的解决方案。