Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       fexecve - Exécuter un programme indiqué par un descripteur de fichier

SYNOPSIS

       #include <unistd.h>

       int fexecve(int fd, char *const argv[], char *const envp[]);

   Exigences de macros de test de fonctionnalités pour la glibc (consultez feature_test_macros(7)) :

       fexecve() :
           Depuis la glibc 2.10 :
               _XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
           Avant la glibc 2.10 :
               _GNU_SOURCE

DESCRIPTION

       fexecve()  effectue  la  même tâche que execve(2), excepté que le fichier à exécuter est indiqué a l’aide
       d’un descripteur de fichier, fd au lieu d'un chemin. Le descripteur de fichier fd  doit  être  ouvert  en
       lecture  seule,  et  l'appelant  doit  avoir  les permissions nécessaires pour exécuter le fichier lié au
       descripteur de fichier.

VALEUR RENVOYÉE

       En cas de réussite, la fonction fexecve() ne revient jamais. En cas d'erreur, la fonction renvoie  -1  et
       errno est définie.

ERREURS

       Les erreurs sont les mêmes que pour execve(2), avec en plus :

       EINVAL fd n'est pas un descripteur de fichier valable, ou argv est NULL, ou envp est NULL.

       ENOSYS Impossible d'accéder au système de fichiers /proc.

VERSIONS

       fexecve() est disponible depuis la glibc 2.3.2.

CONFORMITÉ

       POSIX.1-2008.  Cette  fonction n'est pas spécifiée dans POSIX.1-2001 et n'est que rarement disponible sur
       d'autres systèmes. Cette fonction est spécifiée dans POSIX.1-2008.

NOTES

       Sous Linux, fexecve() est implémentée avec le système de fichiers proc(5), /proc doit donc être monté  et
       disponible lors des appels à fexecve().

       L’idée  derrière  fexecve()  est  de  permettre  à l’appelant de vérifier (avec une somme de contrôle) le
       contenu d’un exécutable avant de l’exécuter. Juste ouvrir le fichier et calculer la somme de contrôle  du
       contenu avant de faire un execve() ne suffirait pas puisque, entre les deux étapes, le nom du fichier, ou
       un  préfixe  de répertoire dans le nom de chemin, pourrait avoir été modifié (par exemple en modifiant la
       cible d’un lien symbolique). fexecve() n’atténue pas le problème que le  contenu  d’un  fichier  pourrait
       être  modifié  entre le calcul de la somme de contrôle et l’appel à fexecve(). Pour cela, la solution est
       de s’assurer  que  les  permissions  sur  le  fichier  l’empêchent  d’être  modifié  par  un  utilisateur
       malveillant.

VOIR AUSSI

       execve(2)

COLOPHON

       Cette page fait partie de la publication 3.57 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Florentin  Duneau  et  l'équipe  francophone de traduction de
       Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org>  ou  par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».

Linux                                            25 octobre 2013                                      FEXECVE(3)