webForumDet fria alternativet

exekvera program med php

6 svar · 344 visningar · startad av Rickard

RickardMedlem sedan maj 2001287 inlägg
#1

Hallojj.

Jag tänkte försöka snickra ihop ett script med formulär som enkelt exekverar två kommandon och returnerar svaret.

Det ena är adduser
det andra är popauth

adduser skall skapa användaren från formulärfälten med tillägen:
username
password
(en kryssruta) active/inactive (kan inte logga in via SSH/Shell)

popauth skall köras med tilläggen från formulärfälten:
user
password
(popauth -user <user> <password>)

Jag vill även att det skall returnera svaret så jag ser om nåt gått snett eller inte.

Är detta möjligt tro?
Jag vet att det går att exekvera kommandon, men jag har inte en aning om hur jag gör det.

Jag försökte kika i manualen och jag lyckades utröna hur jag exekverar komandon iaf.. men hur jag får det att fungera med formulär etc har jag inte en aning om.

Någon som kan hjälpa mig med detta?

Tack på förhand.

lunaMedlem sedan juli 2004181 inlägg
#2

Klockan är mycket så det enda jag orkar ge dig nu är en länk till funktionen... exec( ... );

RickardMedlem sedan maj 2001287 inlägg
#3

hehe, det var just där jag har varit å tittat...
försökte med

<?php
  $str=exec("useradd -p test test",$a,$a1);
  print "<table>";
  if(strlen($str)>1){
     print"<tr><td>user added</td></tr>";
  }else{
     print"<tr><td>User not added</td></tr>";
  }
 print "</table> ";
?>

å det gick inget vidare... =(

GunnarDMedlem sedan juni 20014 290 inlägg
#4

Tänk på att när du kör php script genom en webserver så är det oftast användaren nobody som kör scripten och den användaren har inte rätt att köra useradd, det är i princip bara root som har rätt att lägga till användare i systemet.

RickardMedlem sedan maj 2001287 inlägg
#5

jag har lagt till användaren www i en specialgrupp (secondary group) som har rootaccess.

Om inte annat, går det inte att plita in så att scriptet använder su kommandot först för att bli root?
Eller finns det något annat sätt att lösa det på?

lunaMedlem sedan juli 2004181 inlägg
#6

koden borde vara:

<?php
  $str = exec( "useradd -p test test", $ouput, $error );
  print( "<table>" );
  if( !$error )
  {
     print( "<tr><td>user added</td></tr>" );
  }
  else
  {
     print( "<tr><td>User not added</td></tr>" );
  }
 print( "</table>" );
?>
RickardMedlem sedan maj 2001287 inlägg
#7

Den lägger inte till någon användare als.

Gissningsvis har jag fel på permissions...
har även testat nu att lägga www i root som primary group, utan några vidare resultat.

verskar som om jag får strunta i det hela istället... =)

132 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)