[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