Modifiez par programme l’ID et le gid d’un processus externe en cours d’exécution en utilisant c

Comment modifier par programmation uid et gid d’un processus externe en cours d’ exécution en utilisant c?

Un petit exemple qui inclut la possibilité de changer uid et gid en utilisant les noms d’utilisateurs et de groupes existants:

#include  #include  #include  #include  // .. snip // find user and group struct passwd * pwd = getpwnam("new_user"); struct group * grp = getgrnam("new_group"); // not included : error checking uid_t uid = pwd->pw_uid; gid_t gid = grp->gr_gid; setgid(gid); setuid(uid); 

edit : Cela ne fonctionne que pour le processus en cours