Loading

NOM

       credentials - identifiants de processus

   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(2) 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.

   Identifiants dutilisateur 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 (voir 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  supplémentaires
          décrits  plus  bas,  sont  utilisés  pour déterminer les permissions
          d’accès aux fichiers ; voir path_resolution(7) pour plus de détails.
          Lorsque l’UID (ou GID) effectif d’un processus est modifié, le noyau
          fixe 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 supplémentaires.  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  supplémentaires. 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  consulter 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 —
          voir 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 ;   voir
          getrlimit(2) ;

       *  lorsque  la  limite  du  nombre d’instances inotify que le processus
          peut créer est vérifiée ; voir 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 groupes
       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,  des  appels  à  setuid(2),
       setresuid(2),  etc.)  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), unix(7)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.23 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

       Cette page de manuel a été traduite et est maintenue par Julien Cristau
       <julien.cristau@ens-lyon.org>  et l’équipe francophone de traduction de
       Debian.

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