我正在为服务器编写设置脚本,我需要向用户显示服务器的登录详细信息。它们可以自动重定向到网页,我不知道任何其他细节。
我想制作一个临时网页,其中包含登录详细信息,但是当用户访问它时,它将从磁盘中删除并且网络服务器关闭。
我不介意安装 python 或 perl 之类的东西,但如果它可以只用 sh 来完成那就太好了。
有什么指点吗?
答案1
其实你可以用cgi-bin目录下的shell脚本生成一个网页!创建网页后,脚本可以删除自身、关闭网络服务器等(只要它有权限)。
答案2
您可以编写一个小守护程序来检查日志,并在点击该页面时自动关闭服务器。
或者,您可以从页面调用 shell 命令,其中包含登录详细信息,该页面将使用什么编码?例如,如果是 PHP,您可以调用shell_exec
语句来停止 Web 服务器进程并删除文件。
答案3
这是一个只需要bash和netcat(传统版本)的解决方案。它可能确实不安全,但对于受信任的用户来说,它可能工作正常。
将此脚本放入webscript.sh
.
#!/bin/bash
file="wantedfile.html"
host="localhost"
while [ true ]
do
read a
a=`echo ${a} | sed 's/\r//'`
if [ "${a}" == "" ]
then
break
fi
command=`echo ${a} | grep Host:`
if [ "${command}" != "" ]
then
host=`echo ${a} | awk '{ print $2 }'`
fi
done
len=`ls -la ${file} | awk '{ print $5 }'`
echo "HTTP/1.1 200 OK"
echo "Host: ${host}"
echo "Content-Length: ${len}"
echo ""
cat ${file}
rm ${file}
那么你只需要使用netcat:
nc.traditional -e 'webscript.sh' -l -p 80