「ps -U」は期待通りにプロセスをリストしません

「ps -U」は期待通りにプロセスをリストしません

ps -Uなぜコマンドはユーザー名のプロセスをリストせず0x00、逆にルートのプロセスをリストするのでしょうか。

$ 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 のユーザー名を数字で始めるのは推奨されないのでしょうか?

数字 (10 進数) で始まるユーザー名は推奨されません。アルファベット文字が推奨されます。そうすれば、ユーザー名はユーザー ID (数値) と簡単に区別できます。

奇妙なユーザー名 (特にユーザー ID に似た、つまり数値) を作成すると、一部のコマンドが機能しなくなったり、奇妙な結果になったりすることがあります。
ご存じのとおりps -u、コマンドは必ずしも希望どおりの結果をもたらすとは限りません。このuオプションはユーザー名またはユーザー ID のいずれかを受け入れます。ユーザー ID に似たユーザー名 (つまり数値) を指定すると、このオプションは誤った選択を行い、引数を実際のユーザー ID ではなくユーザー ID として扱う場合があります。
厳格な規則に従わない型破りなユーザー名にこだわる場合は、その結果に対処する必要があります。

回避策の 1 つは、選択肢がある場合は、(あいまいな) ユーザー名ではなく、常にユーザー ID を提供することです。

関連情報