Что заставило бы PS сообщать о uid вместо имени пользователя?

Можно использовать CDPATH настраивать каталог, эквивалентный из PATH; при попытке cd foo и существует нет foo в текущем каталоге оболочка будет регистрировать каждый из каталогов CDPATH поиск foo в них и переключателе к первому это находит:

export CDPATH="/usr"
cd bin # switches to 'bin' if there is one in the current directory, or /usr/bin otherwise
28
23.09.2010, 22:02
3 ответа

ps использует uid, когда имя пользователя является дольше, чем 8 символами.

41
27.01.2020, 19:39
  • 1
    Хороший вызов. Из страницы справочника: "Это будет текстовым идентификатором пользователя, если он может быть получен и разрешения на ширину поля или десятичное представление иначе". –  Michael Mrozek♦ 23.09.2010, 22:16
  • 2
    Или возможно нет никакого способа перевести UID для именования. –  vonbrand 23.01.2013, 17:52

Можно управлять шириной столбцов:

ps o user:12,pid,%cpu,%mem,vsz,rss,tty,stat,start,time,comm

это воспроизводит u формат ps u, но это делает пользовательские полевые 12 символы широкими.

12
27.01.2020, 19:39

Уверенный у Вас есть проблема с Вашим/etc/passwd... Вы отредактировали его вручную, не так ли?:)

так или иначе я воспроизвел проблему, копируя строку пользователя в/etc/passwd и изменив имя пользователя идентификатором пользователя.

Как это:

root@juice:/etc/# grep 129 /etc/passwd
129:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false
puppet:x:129:137:Puppet configuration management daemon,,,:/var/lib/puppet:/bin/false

Обратите внимание, что "пронумерованный пользователь" является первым.

root@juice:/etc/# sudo -u puppet -s
129@juice:/etc/$ whoami
129

129@juice:/etc/$ touch /tmp/a
129@juice:/etc/$ ls -l /tmp/a
-rw-r--r-- 1 129 puppet 0 2010-09-23 19:12 /tmp/a

129@juice:/etc/$ ps u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
129      12443  2.2  0.1   7112  4380 pts/1    S    19:12   0:00 /bin/bash
129      12490  0.0  0.0   2716  1068 pts/1    R+   19:12   0:00 ps u

Попытайтесь выполнить "whoami", уверенный, что он возвращается 107 :)

Это - странное поведение, PS возвращает число и ls нормальное имя:-m...

Решить его:

  • просто редактировать / и т.д. / пароль и удалите неправильную запись
  • или используйте 'userdel 107', но все программы от эвкалипта должны быть остановлены
0
27.01.2020, 19:39

Теги

Похожие вопросы