«ps -U» не выводит ожидаемый список процессов

«ps -U» не выводит ожидаемый список процессов

Почему команда не выводит ps -Uсписок процессов пользователя username 0x00, а наоборот, выводит список процессов root?

$ id     
uid=1000(0x00) gid=1000(0x00) groups=1000(0x00),3(sys),90(network),98(power),108(vboxusers),952(libvirt),956(docker),991(lp),998(wheel)
                                                                                                                                                                                      
$ whoami             
0x00
                                                                                                                                                                                      
$ ps -fu 0x00 | grep -i vbox | grep -v grep
root         468       2  0 09:02 ?        00:00:00 [iprt-VBoxTscThread]
                                                                                                                                                                                      
$ ps -fu 1000 | grep -i vbox | grep -v grep
0x00       35855    1332  0 10:44 ?        00:00:02 /usr/lib/virtualbox/VBoxXPCOMIPCD
0x00       35861    1332  0 10:44 ?        00:00:05 /usr/lib/virtualbox/VBoxSVC --auto-shutdown

Я могу создать имя пользователя, начинающееся с цифры, без ошибок.

$ sudo useradd -M -s /usr/bin/nologin 0x01
                                                                                                                                                                                      
$ id 0x01
uid=1001(0x01) gid=1001(0x01) groups=1001(0x01)                                          

Разве не рекомендуется задавать имя пользователя Linux, начинающееся с цифры?

Дополнительная информация по ядру:

$ uname -a                  
Linux 0xff1 6.7.4-2-MANJARO #1 SMP PREEMPT_DYNAMIC Sat Feb 10 09:41:20 UTC 2024 x86_64 GNU/Linux

решение1

Я могу создать имя пользователя, начинающееся с цифры, без ошибок.

Некоторые дистрибутивы Linux не применяют правило, что имя пользователя должно начинаться с буквы. Или даже запрещают специальные символы.
Смотрите ответы наПочему имена пользователей Linux не могут начинаться с цифр?
В одном из ответов сообщается, что Ubuntu принимает имя пользователя &#%^()!@~*?<>=|.

Разве не рекомендуется задавать имя пользователя Linux, начинающееся с цифры?

Имя пользователя, начинающееся с (десятичного) символа цифры, не рекомендуется. Предпочтительнее буквенный символ. Тогда имя пользователя будет легко отличимо от идентификатора пользователя (который является числовым значением).

Если вы создадите странное имя пользователя (особенно похожее на идентификатор пользователя, т. е. числовое значение), вы можете нарушить или получить странные результаты с некоторыми командами.
Как вы обнаружили, ps -uкоманда не всегда может предоставить желаемые/ожидаемые вами результаты. Параметр uпринимает либо имя пользователя, либо идентификатор пользователя. Когда вы указываете имя пользователя, похожее на идентификатор пользователя (т. е. число), этот параметр может сделать неправильный выбор и обработать аргумент как идентификатор пользователя, а не как то, чем он является на самом деле.
Если вы настаиваете на нетрадиционном имени пользователя, которое не соответствует строгим правилам, то вам придется иметь дело с последствиями.

Одним из обходных путей является указание идентификатора пользователя, а не (неоднозначного) имени пользователя, если есть возможность выбора.

Связанный контент