Apache2를 실행하는 Ubuntu 12.04 사용자 정의 보드가 있습니다. IPsec 서비스 시작 및 중지를 담당하는 CGI 스크립트를 호출하는 웹 페이지가 있습니다. 내 로컬 환경의 다른 컴퓨터에서 웹 페이지에 액세스합니다. 다음은 UI에서 간단한 버튼을 누를 때 호출되는 CGI 스크립트입니다.
root@localhost:~# busybox cat /usr/lib/cgi-bin/stop-IPSec.cgi
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>Configure IP Address"
echo "</title></head><body>"
echo $(whoami)
echo $(/etc/init.d/ipsec stop)
echo $(su root /etc/init.d/ipsec stop)
echo "</body></html>"
나에게 출력을 제공합니다 :
www-data ipsec_setup: permission denied (must be superuser)
다음 줄은 실패합니다.
echo $(su root /etc/init.d/ipsec stop)
Apache 오류 로그에 다음 오류가 표시됩니다.
su: must be run from a terminal
그리고 sudo
보드에서 Ubuntu Core를 실행 중이고 Wi-Fi 어댑터로 사용할 계획이므로 사용할 수 없습니다. 루트 권한이 필요한 IPsec 서비스를 중지하고 싶습니다. 이것이 어떻게 달성될 수 있습니까? 어떤 조언이라도 나를 행복하게 만들 것입니다.