我正在爲使用Selenium的Web應用程序編寫測試套件。通過CGI運行sudo命令(Python)
在這個過程中,我需要測試應用程序的行爲,以防某些服務運行或不運行。
我想創建一個cgi調用,以打開和關閉服務的Python腳本。
我知道CGI呼叫的網絡服務器(Apache)的背景下卻認爲,發行須藤呼叫,像這樣:
import subprocess
import os
command = 'sudo -S launchctl unload /Library/LaunchAgents/com.my.daemon.plist'
pwd = 'pwd123'
test1 = subprocess.Popen(command, shell=True, stdin=subprocess.PIPE)
test1.communicate(input=pwd)
test2 = os.system('echo %s|%s' % (pwd,command))
會做的伎倆,以及他們沒有我得到的返回碼256.
我可以做些什麼來執行此調用而不涉及Apache運行的上下文?
至於安全性:這隻會在測試機器上運行。
Bingo,運行Apache的用戶不在sudoer組中。那就是訣竅。非常感謝 –