Section courante

A propos

Section administrative du site

SETUID

Fixe l'identificateur utilisateur
  unistd.h

Syntaxe

int setuid(uid_t uid);

Paramètres

Nom Description
uid Ce paramètre permet d'indiquer le nouvel identificateur utilisateur.

Retour

Valeur Description
0 Cette valeur permet d'indiquer que l'opération s'est bien passé.
-1 Cette valeur permet d'indiquer qu'une erreur s'est produite. Consulter errno pour avoir plus détails sur cette erreur.

Description

Cette fonction permet de fixer l'identificateur d'utilisateur réel et effectif d'un processus.

Exemple

Voici un exemple montrant comme changer d'identificateur et de revenir à l'original par la suite et écrit le message d'erreur du système si un problème survient :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <sys/types.h>
  4. #include <unistd.h>
  5. #include <errno.h>
  6.  
  7. int main()
  8. {
  9.     uid_t old = getuid();
  10.     if(-1 == setuid(1001)) {
  11.         printf("%i : %s\n",errno,strerror(errno));
  12.     } else {
  13.         printf("Changement reussi\n");
  14.     }
  15.      // ...
  16.     setuid(old);
  17.     return 0;
  18. }

Voir également

Langage de programmation - C pour Linux - Référence procédures et fonctions - getuid
Langage de programmation - Perl - Référence des modules - POSIX::SETUID
Langage de programmation - Perl - Référence des modules - POSIX::GETUID

Dernière mise à jour : Dimanche, le 10 décembre 2017