Provided by: manpages-fr_3.65d1p1-1_all bug

NOM

       credentials - Identifiants de processus

DESCRIPTION

   Identifiant de processus (PID)
       Chaque processus a un identifiant entier positif, qui lui est attribué à sa création (avec
       fork(2)). Un processus peut connaître son PID avec getpid(2). Un PID est représenté par le
       type pid_t (défini dans <sys/types.h>).

       Les PID sont utilisés dans un certain nombre d'appels système pour identifier le processus
       affecté,  par  exemple :  kill(2),  ptrace(2),  setpriority(2),   setpgid(2),   setsid(2),
       sigqueue(3) et waitpid(2).

       Le PID d'un processus est conservé travers d'un execve(2).

   Identifiant du processus père (PPID)
       L'identifiant  de  processus  père d'un processus identifie le processus qui l'a créé avec
       fork(2). Un processus peut connaître son PPID avec getppid(2). Un PPID  est  représenté  à
       l'aide du type pid_t.

       Le PPID d'un processus est conservé au travers d'un execve(2).

   Identifiant de groupe de processus et identifiant de session
       Chaque  processus  a  un  identifiant de session et un identifiant de groupe de processus,
       tous deux représentés par le type pid_t. Un processus peut connaître  son  identifiant  de
       session avec getsid(2), et son identifiant de groupe de processus avec getpgrp(2).

       Un  processus  créé  par fork(2) hérite de l'identifiant de session et de l'identifiant de
       groupe de processus de son père. Les identifiants de session et  de  groupe  de  processus
       sont préservés par execve(2).

       Les  sessions  et  les  groupes  de  processus  sont des abstractions destinées à aider le
       contrôle des tâches dans le shell. Un groupe de processus (parfois appelé  « tâche »)  est
       un  ensemble de processus ayant le même identifiant de groupe de processus ; le shell crée
       un nouveau groupe de processus pour exécuter une commande ou pipeline  (par  exemple,  les
       deux processus créés pour exécuter la commande « ls | wc » sont placés dans le même groupe
       de processus). L'appartenance à un groupe de processus peut être changée avec  setpgid(2).
       Le  processus  dont le PID est égal à son identifiant de groupe de processus est le leader
       du groupe de processus.

       Une session est un ensemble de processus ayant le même identifiant de  session.  Tous  les
       membres  d'un  groupe  de processus ont également le même identifiant de session (tous les
       membres d'un groupe de processus appartiennent à la même session, donc les sessions et les
       groupes  de  processus  forment  une  hiérarchie à deux niveaux). Une nouvelle session est
       créée  lorsqu'un  processus  appelle  setsid(2),  qui  crée  une  nouvelle  session   dont
       l'identifiant  est  le PID de ce processus. Le créateur de cette session est appelé leader
       de session.

       Tous les processus d'une session  partagent  un  terminal  de  contrôle.  Le  terminal  de
       contrôle  est  créé  lorsque  le leader de session ouvre un terminal pour la première fois
       (sauf si le paramètre O_NOCTTY est précisé lors de l'appel de  open(2)).  Un  terminal  ne
       peut être le terminal de contrôle que d'une seule session.

       Il  ne  peut  y  avoir  plus d'une tâche ayant la place de « tâche de premier plan » ; les
       autres tâches de la sessions sont des « tâches d'arrière plan ». Seul la tâche de  premier
       plan peut recevoir des informations depuis le terminal ; si un job d'arrière plan tente de
       recevoir des informations du  terminal,  le  signal  SIGTTIN  est  renvoyé  au  groupe  du
       processus,  ce  qui  a  pour effet de suspendre la tâche. Si le terminal a reçu l'attribut
       TOSTOP (consultez termios(3)), alors seule la  tâche  de  premier  plan  est  autorisée  à
       afficher des données dans le terminal ; l'envoi de données d'une tâche d'arrière plan vers
       le terminal déclenche un signal SIGTTOU, ce qui  a  pour  effet  de  suspendre  la  tâche.
       Lorsqu'une  touche  du  clavier  qui  génère un signal est enfoncée (par exemple la touche
       interrupt, qui provoque normalement un control-C), le signal est envoyé  au  processus  de
       premier plan.

       Divers  appels système ou fonctions de bibliothèque peuvent agir sur tous les membres d'un
       groupe  de  processus,  notamment  kill(2),  killpg(2),  getpriority(2),   setpriority(2),
       ioprio_get(2),  ioprio_set(2),  waitid(2) et waitpid(2). Consultez également la discussion
       au sujet de F_GETOWN, F_GETOWN_EX, F_SETOWN et les opérations F_SETOWN_EX de fcntl(2).

   Identifiants d'utilisateur et de groupe
       Chaque processus a un certain  nombre  d'identifiants  d'utilisateur  et  de  groupe.  Ces
       identifiants  sont  des  entiers  représentés respectivement avec les types uid_t et gid_t
       (définis dans <sys/types.h>).

       Sous Linux, chaque processus a les identifiants d'utilisateur et de groupe suivants :

       *  Identifiant  d'utilisateur  réel  et  identifiant  de  groupe  réel.  Ces  identifiants
          déterminent  le  propriétaire du processus. Un processus peut déterminer ses UID et GID
          réels avec getuid(2) et getgid(2).

       *  UID effectif et GID  effectif.  Ces  identifiants  sont  utilisés  par  le  noyau  pour
          déterminer  les  permissions  de  ce  processus lors d'accès à des ressources partagées
          telles que les files de messages, la mémoire partagée ou les sémaphores. Sur la plupart
          des  systèmes  UNIX,  ces  identifiants  déterminent  aussi les permissions d'accès aux
          fichiers. Cependant, Linux utilise l'identifiant d'utilisateur du système  de  fichiers
          (décrit  ci‐dessous)  pour  cette  tâche.  Un  processus  peut déterminer son UID (GID)
          effectif avec geteuid(2) (getegid(2)).

       *  UID sauvé et GID sauvé. Ces identifiants sont utilisés dans les programmes  set-user-ID
          et  set-group-ID  pour  sauvegarder une copie des identifiants effectifs correspondants
          lors de l'exécution du programme (consultez execve(2)). Un programme  set-user-ID  peut
          prendre et abandonner des privilèges en changeant son UID effectif entre les valeurs de
          ses UID réel et sauvé. Cet échange est  réalisé  par  les  appels  système  seteuid(2),
          setreuid(2)  ou  setresuid(2).  Un programme set-group-ID peut effectuer les opérations
          correspondantes avec setegid(2), setregid(2) ou setresgid(2). Un processus peut obtenir
          son UID (resp. GID) sauvé avec getresuid(2) (resp. getresgid(2)).

       *  UID  et  GID  du système de fichiers (spécifiques à Linux). Ces identifiants, ainsi que
          les identifiants de groupe additionnels décrits plus bas, sont utilisés pour déterminer
          les  permissions  d'accès  aux  fichiers ;  consultez  path_resolution(7)  pour plus de
          détails. Lorsque l'UID (ou GID) effectif d'un processus est modifié, le  noyau  définit
          automatiquement  l'UID  (ou  GID)  du  système de fichiers à la même valeur. Ainsi, les
          identifiants du système de fichiers sont en général égaux aux  identifiants  effectifs,
          et la sémantique des vérifications de permissions sont les mêmes sous Linux et sous les
          autres UNIX. Les identifiants  du  système  de  fichiers  peuvent  prendre  une  valeur
          différente   des   identifiants  effectifs  en  utilisant  les  appels  setfsuid(2)  et
          setfsgid(2).

       *  GID additionnels. Il s'agit d'un ensemble d'identifiants de groupe  qui  sont  utilisés
          pour  les  vérifications  de  permissions  d'accès  aux  fichiers  et autres ressources
          partagées. Sous les noyaux antérieurs à  2.6.4,  un  processus  pouvait  avoir  jusqu'à
          32 groupes  additionnels ;  depuis  le  noyau 2.6.4,  cette limite est de 65536 groupes
          additionnels. L'appel sysconf(_SC_NGROUPS_MAX) peut être  utilisé  pour  déterminer  le
          nombre de groupes additionnels auxquels un processus peut appartenir. Un processus peut
          consultez son ensemble de GID additionnels  avec  getgroups(2),  et  le  modifier  avec
          setgroups(2).

       Un processus fils créé par fork(2) hérite des copies des UID et GID de son père. Lors d'un
       execve(2), les UID et GID réels ainsi que les GID  supplémentaires  sont  préservés ;  les
       identifiants effectifs et sauvés peuvent être modifiés comme indiqué dans execve(2).

       En  dehors des contextes décrits ci‐dessus, les UID d'un processus sont également utilisés
       dans les cas suivants :

       *  lors de la vérification des permissions pour l'envoi de signaux — consultez kill(2) ;

       *  lors  de  la  vérification  des  permissions  pour  la  modification   des   paramètres
          d'ordonnancement   (politesse,   politique  et  priorité  d'ordonnancement  temps‐réel,
          priorité  d'E/S)  avec  setpriority(2),  sched_setaffinity(2),   sched_setscheduler(2),
          sched_setparam(2) et ioprio_set(2) ;

       *  lors de la vérification de limites de ressources ; consultez getrlimit(2) ;

       *  lorsque  la  limite  du  nombre  d'instances  inotify  que  le processus peut créer est
          vérifiée ; consultez inotify(7).

CONFORMITÉ

       Les PID, PPID, PGID et SID sont  spécifiés  dans  POSIX.1-2001.  Les  identifiants  réels,
       effectifs  et  sauvés,  et  les  identifiants  de  groupe additionnels sont spécifiés dans
       POSIX.1-2001. Les identifiants du système de fichiers sont une extension Linux.

NOTES

       La spécification POSIX des threads demande que les identifiants soient partagés  par  tous
       les   threads  d'un  processus.  Toutefois,  au  niveau  du  noyau,  Linux  maintient  des
       identifiants d'utilisateurs et de groupes séparés pour chaque thread. L'implémentation des
       threads   NPTL   effectue  un  certain  travail  pour  s'assurer  que  toute  modification
       d'identifiants d'utilisateur ou de groupe (par exemple, via  des  appels  à  setuid(2)  ou
       setresuid(2)) soit propagée vers tous les threads POSIX d'un processus.

VOIR AUSSI

       bash(1),   csh(1),   ps(1),   access(2),  execve(2),  faccessat(2),  fork(2),  getpgrp(2),
       getpid(2), getppid(2), getsid(2), kill(2), killpg(2), setegid(2), seteuid(2), setfsgid(2),
       setfsuid(2),  setgid(2),  setgroups(2), setresgid(2), setresuid(2), setuid(2), waitpid(2),
       euidaccess(3),     initgroups(3),     tcgetpgrp(3),     tcsetpgrp(3),     capabilities(7),
       path_resolution(7), signal(7), unix(7)

COLOPHON

       Cette  page  fait partie de la publication 3.65 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/>.

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