[C - Linux] question sur la fonction chroot() de unistd.h

question sur la fonction chroot() de unistd.h [C - Linux] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 09-06-2005 à 16:23:43    

Bonjour,
Dans l'application que je développe (un webserver) je fais un appel de la fonction chroot("/var/www" ) pour avoir comme racine le répertoire ou se trouvent les fichiers accessibles depuis le serveur. La question que je me pose est s'il est possible de sortir de ce chroot temporairement pour réstaurer la racine habituelle avant d'appeller une fonction devant accéder à un répertoire hors de /var/www. J'ai essayé de faire un appel chroot("/" ) pour restaurer la racine mais ça ne semble pas marcher.  
 
Voici un petit shema explicatif de ce que je voudrais faire :
 
debut de l'application:
 
chroot("/var/www" );
chdir("/" );
...
//execution des fonctions classiques du webserver qui n'accèdent qu'à des fichiers sous /var/www
...
exit_chroot(); //pour sortir du chroot
...
//appel de la fonction necessitant l'accès à /dev/
...
chroot("/var/www" ); //on restaure la racine pour les fichiers web
chdir("/" );
...
//retour aux fonctions classique du webserver
 
 
Je sais pas si j'ai été très clair, mais toute aide serait la bienvenue.
 
Merci
 
Julien


Message édité par jumar le 09-06-2005 à 16:45:17
Reply

Marsh Posté le 09-06-2005 à 16:23:43   

Reply

Marsh Posté le 09-06-2005 à 16:50:47    

tu devrais aller dans la section developpement plutot ;)


---------------
The Toast, un docu-fiction qui teste la loi de murphy et les films en carton
Reply

Marsh Posté le 09-06-2005 à 16:56:50    

Je me suis planté de section, t'as raison... J'ai reposté ce mesage dans la section Programmation C.
 
Désolé pour la polution .

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed