Hello!

On Thu, Aug 23, 2007 at 08:08:22PM +0400, Yuri Kozlov wrote:
> > Заметил следующее интересное поведение ps, в некоторых случаях при
> > выводе ps u(ax) он не показывает username в колонке USER, а вместо этого
> > показывает числовой uid юзера.
> > При этом это наблюдается не для всех пользователей системы, а лишь для
> > части. Чем они отличаются от других - не обнаружил. Это могут быть и
> > реальные пользователи, могут быть псевдо-пользователи.
> >
> > Объединяет их то, что uid >1000 и созданы они были руками после инстала
> > системы. Но есть и такие, для которых uid >1000, но ps отображается их
> > username в выводе корректно.
> 
> Что нужно сделать чтобы воспроизвести у себя этот баг?

Если бы я знал, возможно знал бы куда копать.

Вот, к примеру:

# uname -a
Linux puma 2.6.18-5-686 #1 SMP Sun Aug 12 21:57:02 UTC 2007 i686 GNU/Linux
# cat /etc/debian_version 
4.0
# ps u -Umessagebus
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
104       2267  0.0  0.0   2248   672 ?        Ss   Aug16   0:00 
/usr/bin/dbus-daemon --system
# id messagebus
uid=104(messagebus) gid=107(messagebus) groups=107(messagebus)
# sudo -u messagebus /usr/local/bin/getuid 
uid: 104, name: messagebus
# top -p2267
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
                                
 2267 messageb  16   0  2248  672  524 S    0  0.0   0:00.00 dbus-daemon

Т.е. везде username по этому uid'у определяется корректно, getuid - это
вызов getuid и getpwname(uid).
И только ps показывает uid в колонке USER.

При этом user'а везде разные, как-то рандомно оно "не работает". На
разных серверах, но везде 2.6 ядро. Там, где 2.4 - такого эффекта нет.

-- 
WBR,
Alexander Burnos


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить