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> ».