Hallo allemaal,
Ik heb een op INN & newsx gebaseerde newsserver opgezet. Deze wil ik gaan managen met een webinterface welke geschreven is in PHP. Het komt er in het heel kort op neer dat als ik een bepaalde knop indruk er een bepaald commando wordt uitgevoerd.
nu gaat dit bv met cat/ls/who perfect. Maar zodra ik een commando van de INN-server gebruik (ik verwijs naar dit bestand via een volledig pad) dan wordt het commando simpelweg niet uitgevoerd. bv newsgroepen toevoegen gaat als volgt.
Normaal zou de uitvoer van dit commando "ok" zijn. Echter krijg ik in mijn PHP output helemaal nix terug. Dus het is zeer aannemelijk dat het commando niet wordt uitgevoerd. Maar bv ls doet het perfect.
Eerst had ik problemen met elk commando. Maar na ESLinux uitgeschakeld te hebben was dit opgelost.
Wat ik dus niet begrijp is... waarom dit commando gewoon niet wordt uitgevoerd, terwijl andere commando; s het wel doen. ik heb ook op de bestanden zo hoog mogelijke rechten gezet... maar dit mocht ook niet baten. wat doe ik hier fout of ben ik vergeten ?
Dit is mijn PHP-code:
De groupmanager (een symbolic link naar ctlinnd (het programma om newsgroepen aan de server toe te voegen) wordt hier dus niet uitgevoerd. Terwijl het addline programma wel zonder problemen uitgevoerd kan worden. Iemand die weet wat hier aan de hand is ? het commando groupmanager/ctlinnd werkt als deze met de hand wordt uitgevoerd echter wel.
Ik heb een op INN & newsx gebaseerde newsserver opgezet. Deze wil ik gaan managen met een webinterface welke geschreven is in PHP. Het komt er in het heel kort op neer dat als ik een bepaalde knop indruk er een bepaald commando wordt uitgevoerd.
nu gaat dit bv met cat/ls/who perfect. Maar zodra ik een commando van de INN-server gebruik (ik verwijs naar dit bestand via een volledig pad) dan wordt het commando simpelweg niet uitgevoerd. bv newsgroepen toevoegen gaat als volgt.
code:
1
| ctlinnd newgroup alt.test |
Normaal zou de uitvoer van dit commando "ok" zijn. Echter krijg ik in mijn PHP output helemaal nix terug. Dus het is zeer aannemelijk dat het commando niet wordt uitgevoerd. Maar bv ls doet het perfect.
Eerst had ik problemen met elk commando. Maar na ESLinux uitgeschakeld te hebben was dit opgelost.
Wat ik dus niet begrijp is... waarom dit commando gewoon niet wordt uitgevoerd, terwijl andere commando; s het wel doen. ik heb ook op de bestanden zo hoog mogelijke rechten gezet... maar dit mocht ook niet baten. wat doe ik hier fout of ben ik vergeten ?
Dit is mijn PHP-code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Newsfeeder</title>
<style type="text/css">
<!--
body {
background-color: #6CB5BB;
}
-->
</style></head>
Groep toevoegen
<body>
<form action="GroepToevoegen.php" METHOD="GET">
<table width="200" border="0">
<tr>
<th scope="row"><div align="left">Groepnaam:</div></th>
<td><input name="commando" type="text" size="100"></td>
</tr>
<tr>
<th scope="row"><div align="left">Omschrijving:</div></th>
<td><input name="commando2" type="text" size="100"></td>
</tr>
<tr>
<th scope="row"><input name="submit" type="submit" value='Toevoegen'></th>
<td> </td>
</tr>
</table>
</form>
<?php
if(isset($_GET['commando'])){
echo "Deze groepnaam heeft u ingevuld: ".$_GET['commando']."\n";
$command = $_GET['commando'];
echo $command;
echo "Deze omschrijving heeft u ingevuld: ".$_GET['commando2']."\n";
$command2 = $_GET['commando2'];
echo $command2;
$temp = "./groupmanager newgroup $command";
echo "<pre>$temp</pre>";
$temp2 = "./addline.o newsgroups \"$command $command2\"";
echo "<pre>$temp2</pre>";
$output = shell_exec($temp);
echo "<pre>$output</pre>";
$output2 = shell_exec($temp2);
echo "<pre>$output2</pre>";
}
?>
</body>
</html> |
De groupmanager (een symbolic link naar ctlinnd (het programma om newsgroepen aan de server toe te voegen) wordt hier dus niet uitgevoerd. Terwijl het addline programma wel zonder problemen uitgevoerd kan worden. Iemand die weet wat hier aan de hand is ? het commando groupmanager/ctlinnd werkt als deze met de hand wordt uitgevoerd echter wel.