Question

I am developing in C++ on NetBeans 6.9 on Ubuntu 11.04. I am making a system() call which I would like to be called as user "peter" rather than as root. I understand that

setuid(0);

sets the user to root but how does one set the user to peter?

Thanks, Peter.

Était-ce utile?

La solution

You perhaps want to search the password file for the correct user id via, e.g. getpwnam(). Something like:

// look up peter's uid
uid_t peter_uid=getpwnam("peter")->pw_uid;

// Become peter
setuid(peter_uid);
seteuid(peter_uid);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top