[RESOLU] tuer un processus (comme dansguardian par exemple)

Forum traitant de la distribution sécurisée montante nommée IP cop et basée sur la distribution Smoothwall. C'est à l'heure actuelle le forum le plus actif du site.

Modérateur: modos Ixus

[RESOLU] tuer un processus (comme dansguardian par exemple)

Messagepar Cjulien » 08 Juin 2004 18:44

Bonjour à tous,

Dans le but de tuer le processus dansguardian par un script cgi, (ou de le relancer par dansguardian -r) voici le script que j'ai realisé:

-une execution de la commande pwd

-une execution de la commande ps -u nobody

-un fork, et un kill du processus pere (boucle infinie du pere)

toutes ces executions (qui fonctionnent) dans le but d'eliminer les problemes de droits, etc...

-un kill du processus de dansguardian : qui ne fonctionne pas

pourquoi? je n'ai pas la reponse...

Merci d'avance.


script :


#!/usr/bin/perl

use CGI;
use POSIX;

print "Pragma: no-cache\n";
print "Cache-control: no-cache\n";
print "Connection: close\n";
print "Content-type: text/html\n\n";

print <<FIN
<html><head>
<title> essaikill.cgi</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
FIN
;


@args = ('pwd');
$retour = system(@args);
if ($retour == 0)
{
print "<br>La commande @args a &eacute;t&eacute; ex&eacute;cut&eacute;e avec succ&egrave;s !<br>";
}
else
{
print "<br>La commande @args a &eacute;chou&eacute; <br>";
}
print "<br>";
@args = ('ps','-u','nobody');
$retour = system(@args);
if ($retour == 0)
{
print "<br><br>La commande @args a &eacute;t&eacute; ex&eacute;cut&eacute;e avec succ&egrave;s !<br>";
}
else
{
print "<br>La commande @args a &eacute;chou&eacute; <br>";
}


$pidpere = getpid();
print "<br> pid du pere : $pidpere<br>";
fork();

if (getpid() == $pidpere)
{
print "<br> pid du pere : $pidpere<br>";
while (1)
{
print('z');
}
}
else
{
$pidfils = getpid();
print "pid du fils : $pidfils<br>";
@args = ('kill',$pidpere);
$retour = system(@args);

if ($retour == 0)
{
print "<br>La commande @args a &eacute;t&eacute; ex&eacute;cut&eacute;e avec succ&egrave;s !<br>";
}
else
{
print "<br>La commande @args a &eacute;chou&eacute; <br>";
}
print "<br>";



$piddans = -1;
open(FILE, "/var/run/dansguardian.pid");
$piddans = <FILE>; chomp $piddans;
close FILE;
print "<br>le pid de dansguardian : $piddans <br>";
@args = ('kill',$piddans);
$retour = system(@args);
if ($retour == 0)
{
print "<br> La commande @args a &eacute;t&eacute; ex&eacute;cut&eacute;e avec succ&egrave;s !<br>";
}
else
{
print "<br> La commande @args a &eacute;chou&eacute; <br>";
}

}

print "</div></body></html>";
Dernière édition par Cjulien le 11 Juin 2004 17:56, édité 1 fois au total.
Cjulien
Matelot
Matelot
 
Messages: 3
Inscrit le: 08 Juin 2004 16:09

Messagepar stangman » 11 Juin 2004 12:15

Salut !

Lorsque tu essaies d'exécuter cette commande de manière manuelle en tant que root, est ce qu'elle fonctionne ?
stangman
Matelot
Matelot
 
Messages: 4
Inscrit le: 09 Juin 2004 14:19

Messagepar Cjulien » 11 Juin 2004 14:17

Salut Stangman,

La commande kill "pid de dansguardian" marche bien en ligne de commande en tant que root.

merci quand même
Cjulien
Matelot
Matelot
 
Messages: 3
Inscrit le: 08 Juin 2004 16:09

Messagepar Cjulien » 11 Juin 2004 17:55

Probleme resolu :

chmod +s

sur le programme que l'on veut executer par le script.

Merci à ceux qui ont cherché
Cjulien
Matelot
Matelot
 
Messages: 3
Inscrit le: 08 Juin 2004 16:09


Retour vers IPCop

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité