2009-06-04, 18:15
  #1
Medlem
FlyingMachines avatar
Efter en omstart på servern har jag fått problem.

I ett PHP-script kör jag
Kod:
echo exec('whoami');
och det fungerar.

Om jag däremot kör
Kod:
exec('sudo pure-pw list', $output);
foreach($output as $entry) {
   echo $entry."<br>";
så syns ingenting på skärmen.

Vad kan vara fel? Allt fungerade perfekt innan jag startade om.

EDIT:
Jag skriver alltså ut en lista med användare till FTP-servern, och http (apache-användaren) är satt till NOPASSWD i sudoers.
Citera
2009-06-06, 03:13
  #2
Medlem
En gissning är att problemet inte ligger i php utan i kommandot du matar exec med. Prova tex med:
Kod:
exec('ls -al /home'$output);
foreach(
$output as $entry) {
   echo 
$entry."<br>";


Om det funkar som det är tänkt prova att köra "sudo pure-pw list" som usern http i en terminal och se att du verkligen får outputen du förväntar dig.
Citera
2009-06-06, 21:36
  #3
Medlem
FlyingMachines avatar
Något är skumt. Jag har kommit på ett fulhack för att lösa det.

I http.conf så ändrar jag användare och grupp till root, startar om apache, och går in på sidan. Då fungerar det inte. Därefter ändrar jag tillbaka användare och grupp till http, startar om, och därefter fungerar det att köra alla kommandon utan problem.

Blir dock lite jobbigt att göra så efter varje omstart.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in