Web ページからプロセスを強制終了しようとしています。
import os
os.system(“killall Laser”)
print("Content-Type: text/HTML;charset=utf-8")
print("")
print("Laser has been restarted.")
ファイルのパーミッションは 777 に設定されており、setuid と setgid を設定しました。スクリプトは、コマンドラインから実行すると機能しますが、ブラウザーでは機能しません。
これはubuntuで実行されており、Webサーバーはlighthttpです。
プロセスは root が所有しています。
私も使用してみました:
import subprocess as sub, cgitb
cgitb.enable(display=0, logdir="/tmp")
p = sub.Popen(['killall;', 'Laser'],shell=True,stdout=sub.PIPE,stderr=sub.PIPE)
output, errors = p.communicate()
print("Content-Type: text/HTML;charset=utf-8")
print("")
print(output)
と:
import subprocess as sub, cgitb
cgitb.enable(display=0, logdir="/tmp")
cmd1 = "su root"
cmd2 = "killall Laser"
p = sub.Popen("{}; {}".format(cmd1, cmd2),shell=True,stdout=sub.PIPE,stderr=sub.PIPE, close_fds=True)
output, errors = p.communicate()
print("Content-Type: text/HTML;charset=utf-8")
print("")
print(output)
何か案は?
マット