[sisyphus] [procps] wrong process UID
Igor Homyakov
=?iso-8859-1?q?homyakov_=CE=C1_ramax=2Espb=2Eru?=
Вт Ноя 19 15:21:38 MSK 2002
Утилита ps не правильно отображает UID процесса, точнее она показвает его
EUID вместо UID. Приложен простенький тест, процесс запускаеться
и меняет свой эфеективный ID после чего выводит значения UID и EUID.
Как видно ps показывает одинаковые значения.
$ sudo ./a.out
running: pid 28854, uid 0, euid 113
$ ps -axo pid,uid,euid | grep 28854
28854 113 113
--
Igor Homyakov
<homyakov at altlinux dot ru>
http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=190141
----------- следующая часть -----------
/* -*- C -*-
*
* $Id$
*
* Author: Igor Homyakov <homyakov на ramax.spb.ru>
*
* Created: Tue Nov 19 15:02:05 2002
*
* Comments: stupid test
*
*/
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <errno.h>
int
main (int argc, char* argv[])
{
uid_t euid = 113;
unsigned int timeout = 30;
if ( seteuid( euid ) == -1 ) {
perror("seteuid err:");
exit(1);
} else {
(void)printf( "running: pid %d, uid %d, euid %d\n", getpid(), getuid(), geteuid());
(void)sleep( timeout );
}
return 0;
}
Подробная информация о списке рассылки Sisyphus