SETFSUID
Section : Manuel du programmeur Linux (
2)
Mise à jour de la version anglaise : 27 mai 2004
Index
Menu principal
NOM
setfsuid - Fixer l'UID pour les vérifications d'accès au système de fichiers
SYNOPSIS
#include <unistd.h>
/* glibc utilise <
sys/fsuid.h> */
int setfsuid(uid_t fsuid);
DESCRIPTION
setfsuid()
fixe l'UID que le noyau Linux utilise pour vérifier tous les
accès du processus au système de fichiers.
Normalement, la valeur de
fsuid
va masquer la valeur de l'UID effectif.
En fait, si
l'UID effectif est modifié,
fsuid
sera aussi modifié pour la nouvelle valeur de l'UID effectif.
Les appels explicites à
setfsuid()
et
setfsgid(2)
ne sont normalement utiles qu'aux programmes tels que le serveur
NFS qui ont besoin de modifier le GID utilisé pour les
accès aux fichiers sans changer véritablement leurs
GID réels et effectifs.
Une modification de l'UID normal d'un programme comme
un serveur NFS serait un trou de sécurité qui l'exposerait
à des signaux indésirables. Voir ci-dessous
setfsuid()
ne réussira que si l'appelant est le superutilisateur ou si
fsuid
correspond à l'UID réel, à l'UID effectif,
à l'UID sauvé, ou encore à la valeur actuelle de
fsuid.
VALEUR RENVOYÉE
setfsuid()
renvoie la valeur précédente
fsuid
s'il réussit.
En cas d'erreur la valeur actuelle de
fsuid
est renvoyée.
CONFORMITÉ
setfsuid()
est spécifique à Linux et ne doit pas être employé dans des programmes
destinés à être portables.
NOTES
Lorsque la bibliothèque glibc s'aperçoit que l'argument n'est pas un
UID valide, elle renvoie -1 et place
EINVAL
dans
errno
sans essayer d'appeler l'appel système réel.
Notez que lors de l'introduction de cet appel système, un processus
pouvait envoyer un signal à un autre processus avec le même UID effectif.
De nos jours, les permissions pour les signaux sont légèrement différentes.
BOGUES
Il n'y a pas de messages d'erreur renvoyés.
Il serait bon d'avoir au moins un code d'erreur
EPERM
en cas d'échec (dans le cas où l'appelant n'a pas la capacité
CAP_SETUID).
VOIR AUSSI
kill(2),
setfsgid(2),
capabilities(7),
credentials(7)
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 15 octobre 1996
et révisée le 23 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 2 setfsuid ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- CONFORMITÉ
-
- NOTES
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 23 juin 2008