我希望能够自动测试我的所有服务器以确保目录浏览已启用。如何在 shell 脚本中执行此操作?
答案1
两个建议:
创建一个目录,通过 HTTP 获取其内容本地主机(使用
curl
、wget -O /dev/stdout
、lynx -dump
、w3m -dump
、elinks -dump
)并查找文件列表。Apache2 的示例通常显示Index of /directory
:cd /srv/http name="test-$RANDOM$RANDOM$RANDOM" mkdir "$name" if curl "http://localhost/$name/" | fgrep -qs "Index of /$name"; then echo "enabled" rmdir "$name" else echo "disabled" rmdir "$name" exit 1 fi
如果你正在使用 Lighttpd、nginx 或其他程序,请调整grep图案。
替代方案:学习一些
grep
或perl
并解析配置文件。具体过程取决于您使用的 HTTP 守护程序 - 它们的配置格式是非常不同的。