„ps -U“ listet Prozesse nicht wie erwartet auf

„ps -U“ listet Prozesse nicht wie erwartet auf

Warum ps -Ulistet der Befehl nicht die Prozesse des Benutzernamens auf 0x00, sondern die des Root-Benutzers?

$ 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

Ich kann ohne Fehler einen Benutzernamen erstellen, der mit einer Zahl beginnt.

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

Ist es nicht empfehlenswert, den Benutzernamen unter Linux mit einer Zahl beginnen zu lassen?

Zusätzliche Informationen zum Kernel:

$ 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

Antwort1

Ich kann ohne Fehler einen Benutzernamen erstellen, der mit einer Zahl beginnt.

Einige Linux-Distributionen setzen die Regel nicht durch, dass ein Benutzername mit einem Buchstaben beginnen muss. Oder verbieten sogar Sonderzeichen.
Siehe die Antworten aufWarum dürfen Linux-Benutzernamen nicht mit Zahlen beginnen?
Eine Antwort berichtet, dass Ubuntu den Benutzernamen akzeptiert &#%^()!@~*?<>=|.

Ist es nicht empfehlenswert, den Benutzernamen unter Linux mit einer Zahl beginnen zu lassen?

Ein Benutzername, der mit einer (Dezimal-)Ziffer beginnt, wird nicht empfohlen. Ein alphabetischer Buchstabe ist vorzuziehen. Dann lässt sich ein Benutzername leicht von einer Benutzer-ID (die ein numerischer Wert ist) unterscheiden.

Wenn Sie einen ungewöhnlichen Benutzernamen erstellen (insbesondere einen, der wie eine Benutzer-ID aussieht, also ein numerischer Wert), kann es bei einigen Befehlen zu Fehlern kommen oder Sie erhalten ungewöhnliche Ergebnisse.
Wie Sie festgestellt haben, ps -uliefert der Befehl möglicherweise nicht immer die gewünschten/erwarteten Ergebnisse. Die uOption akzeptiert entweder einen Benutzernamen oder eine Benutzer-ID. Wenn Sie einen Benutzernamen angeben, der wie eine Benutzer-ID aussieht (also eine Zahl), trifft diese Option möglicherweise die falsche Wahl und behandelt das Argument als Benutzer-ID statt als das, was es wirklich ist.
Wenn Sie auf einem ungewöhnlichen Benutzernamen bestehen, der sich nicht an strenge Regeln hält, müssen Sie mit den Konsequenzen leben.

Eine Problemumgehung besteht darin, wenn eine Wahl besteht, immer die Benutzer-ID und nicht den (mehrdeutigen) Benutzernamen anzugeben.

verwandte Informationen