GNU/Linux >> Tutoriels Linux >  >> Linux

Changer l'UID/GID d'un seul thread sous Linux

Le setfsuid() spécifique à Linux / setfsgid() sont par thread plutôt que par processus. Ils sont conçus spécifiquement pour ce cas d'utilisation (serveur de fichiers).

Notez que access() vérifiera toujours l'accès en utilisant les vrais uid et gid - c'est par conception (il est prévu de répondre à la question "l'utilisateur qui a exécuté ce binaire devrait-il avoir l'accès donné à ce fichier" ). Pour le setfsuid() / setfsgid() Dans ce cas, vous devez simplement essayer l'opération demandée et détecter l'échec en raison d'un manque d'autorisation à ce stade.


Pour changer l'uid d'un seul thread, vous devez utiliser directement l'appel système :syscall(SYS_setresuid, ...); La fonction libc setresuid() le synchronisera pour tous les threads (en utilisant un singal qu'il envoie à tous les threads) !


Linux
  1. Comment changer de shell sous Linux

  2. Commande de renommage Linux

  3. Changer le nom d'utilisateur sous Linux

  4. Comment changer UID ou GID en toute sécurité sous Linux

  5. Comment restreindre l'accès su à un utilisateur uniquement par PAM sous Linux

Comment changer un nom d'hôte sur Redhat 7 Linux

Commande cd sous Linux (changer de répertoire)

Qu'est-ce que l'UID sous Linux, comment le trouver et le modifier

10 RAISONS DE CHANGER WINDOWS 10 VERS LINUX

Comment changer d'utilisateur sous Linux

Comment changer l'adresse IP sous Linux