[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

strange ps behavior



Здравствуйте!

Заметил следующее интересное поведение ps, в некоторых случаях при
выводе ps u(ax) он не показывает username в колонке USER, а вместо этого
показывает числовой uid юзера.
При этом это наблюдается не для всех пользователей системы, а лишь для
части. Чем они отличаются от других - не обнаружил. Это могут быть и
реальные пользователи, могут быть псевдо-пользователи.

Объединяет их то, что uid >1000 и созданы они были руками после инстала
системы. Но есть и такие, для которых uid >1000, но ps отображается их
username в выводе корректно.

Наблюдается это устойчиво, как если запускать ps от рута, так и
если от самого "проблемного" пользователя.

Вот такой вот кусок кода:
 uid = getuid();
 pswd = getpwuid(uid);

 printf("uid: %d, name: %s\n", uid, pswd->pw_name);

Показывает для всех все корректно. Кстати, top тоже отображает username
правильно.

Не уверен, но вроде бы такой эффект наблюдается только на серверах с 2.6
ядром. Debian etch.

В принципе, мелочь, но хотелось бы разобраться, чтобы наверняка быть
уверенным что это какая-то особенность системы, а не результат
стороннего вмешательства в нее.

Подскажет ли уважаемое community куда посмотреть, чтобы понять природу
явления? Если идей нет, то пойду инспектировать сорцы ps, но пока что
нет времени на это.

-- 
WBR,
Alexander Burnos



Reply to: