Eu tenho um Ubuntu 12.04 Custom Board rodando o Apache2. Eu tenho uma página da web que chama um script CGI que é responsável por iniciar e parar o serviço ipsec. Eu acesso a página da web de outra máquina no ambiente local. A seguir, o script CGI que é chamado quando pressiono um botão simples na interface do usuário:
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>"
Dá-me saída:
www-data ipsec_setup: permission denied (must be superuser)
E a seguinte linha falha:
echo $(su root /etc/init.d/ipsec stop)
E apresenta esse erro no log de erros do apache:
su: must be run from a terminal
E sudo
não está disponível, pois estou executando o Ubuntu Core a bordo, que pretendo usar como Dongle Wifi.
Eu quero parar o serviço ipsec e isso exige que seja raiz. Como isso pode ser alcançado. Todos os ponteiros farão meu dia.
Tags networking cgi