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);
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.
L’appel explicite de setfsuid() ou setfsgid(2) n’est normalement utile
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 des identifiants normaux
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.
VERSIONS
Cet appel système est présent sous Linux depuis la version 1.2.
CONFORMITÉ
setfsuid() est spécifique à Linux et ne devrait 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)
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 mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.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> ».