У меня на компьютере Linux установлен Eucalyptus , и я заметил, что для процессов, принадлежащих пользователю eucalyptus, ps сообщает идентификатор пользователя вместо имени пользователя. Например:
$ sudo -i -u eucalyptus
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
107 29764 0.0 0.0 19376 2104 pts/2 S 11:43 0:00 -bash
107 30198 0.0 0.0 15256 1180 pts/2 R+ 11:44 0:00 ps u
Что могло бы вызвать это?
Обратите внимание, что в / etc / passwd есть правильная запись:
$ grep eucalyptus /etc/passwd
eucalyptus:x:107:115::/var/lib/eucalyptus:/bin/bash
Также обратите внимание, что свойство ls сообщает о владении файлами учетной записью eucalyptus:
$ touch foo
$ ls -l foo
-rw-r--r-- 1 eucalyptus eucalyptus 0 2010-09-23 11:47 foo
Вы можете контролировать ширину столбцов:
это воспроизводит
u
форматps u
, но делает поле пользователя шириной 12 символов.источник
Конечно, у вас есть проблема с вашим / etc / passwd ... вы редактировали его вручную, не так ли? :)
во всяком случае, я воспроизвел проблему, скопировав строку пользователя в / etc / passwd и изменив имя пользователя по идентификатору пользователя.
Так:
Обратите внимание, что «пронумерованный пользователь» является первым.
Попробуйте выполнить "whoami", наверняка вернет 107 :)
Странное поведение, ps возвращает число и ls нормальное имя: -m ...
Чтобы решить это:
источник