LINUX.ORG.RU

Дочерний запустить через fork?
Тогда в дочернем зовешь setreuid или что-то из этого семейства.
Если надо просто другую программу пустить -
system("su username -c command")

WBR, White Eagle

anonymous
()

Выполнить fork, затем в дочернем процессе (в него fork вернет 0) вызвать setuid, потом execve.

anonymous
()

#include <sys/types.h> #include <unistd.h> #include <pwd.h>

struct passwd *pwd; pwd=getpwname(logname);

...

/* t_uid = pw_uid где pw_uid ссылка на UID в /etc/passwd*/ setuid(pwd->pw_uid);

...

CODER
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.