question sur la fonction chroot() de unistd.h [C - Linux] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 09-06-2005 à 16:50:47
tu devrais aller dans la section developpement plutot
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 .
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