0

我正在 Ubuntu 11.04 上的 NetBeans 6.9 上使用 C++ 进行开发。我正在进行一个 system() 调用,我希望将其称为用户“peter”而不是 root。我明白那个

setuid(0);

将用户设置为root,但如何将用户设置为peter?

谢谢,彼得。

4

1 回答 1

2

您可能希望通过密码文件搜索正确的用户 ID,例如getpwnam(). 就像是:

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

// Become peter
setuid(peter_uid);
seteuid(peter_uid);
于 2012-08-19T01:41:48.997 回答