Warum ps -U
listet 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 -u
liefert der Befehl möglicherweise nicht immer die gewünschten/erwarteten Ergebnisse. Die u
Option 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.