Por que o comando não ps -U
lista os processos do nome de usuário 0x00
, pelo contrário, os root estão listados.
$ 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
Posso criar um nome de usuário que comece com um número sem erros.
$ sudo useradd -M -s /usr/bin/nologin 0x01
$ id 0x01
uid=1001(0x01) gid=1001(0x01) groups=1001(0x01)
Não é recomendado definir o nome de usuário do Linux começando com número?
Informações adicionais sobre o 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
Algumas distribuições Linux não impõem a regra de que um nome de usuário deve começar com um caractere alfabético. Ou até mesmo proibir caracteres especiais.
Veja as respostas para Por que os nomes de usuário do Linux não podem começar com números?
Uma resposta relata que o Ubuntu aceita o nome de usuário
&#%^()!@~*?<>=|
.Um nome de usuário que comece com um caractere de dígito (decimal) não é recomendado. É preferível um caractere alfabético. Assim, um nome de usuário é facilmente distinguível de um ID de usuário (que é um valor numérico).
Se você criar um nome de usuário estranho (especialmente um que se pareça com um ID de usuário, ou seja, um valor numérico), você poderá quebrar ou obter resultados estranhos com alguns comandos.
Como você descobriu, o
ps -u
comando nem sempre fornece os resultados desejados/esperados. Au
opção aceita um nome de usuário ou ID de usuário. Quando você fornece um nome de usuário que se parece com um ID de usuário (ou seja, um número), esta opção pode fazer a escolha errada e tratar o argumento como um ID de usuário em vez do que realmente é.Se você insistir em ter um nome de usuário não convencional que não siga regras rígidas, terá que arcar com as consequências.
Uma solução alternativa é, quando houver opção, sempre fornecer o ID do usuário em vez do nome de usuário (ambíguo).