サーバー用の設定スクリプトを作成しており、ユーザーにサーバーのログイン詳細を表示する必要があります。自動的にWebページにリダイレクトできますが、他の詳細はわかりません。
ログインの詳細を含む一時的なWebページを作成したいが、ユーザーがそのページにアクセスするとディスクから削除され、Webサーバーがシャットダウンします。
PythonやPerlなどをインストールしても大丈夫ですが、shだけでインストールが可能であればいいようです。
どんなアドバイス?
答え1
実際、cgi-binディレクトリにあるシェルスクリプトを使用してWebページを作成できます。 Webページを作成した後、スクリプトは自己削除、Webサーバーのシャットダウンなどを行うことができます(権限がある場合)。
答え2
ログを確認してページをクリックすると、サーバーを自動的にシャットダウンする小さなデーモンを作成できます。
または、ログインの詳細を含むページからシェルコマンドを呼び出すこともできます。ページではどのエンコーディングを使用しますか?たとえば、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