You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ps -U命令无法正确列出指定用户名进程的问题咨询

ps -U命令无法正确列出指定用户名进程的问题咨询

大家好,我碰到了一个挺奇怪的问题,想过来请教下:当我用ps -U指定用户名0x00查询进程时,出来的居然是root用户的进程,完全不是我自己的;但如果换成对应的UID 1000来查询,就能正常显示我名下的进程。

先给大家贴一下我的用户信息:

$ 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查询的具体结果:
用用户名0x00查VirtualBox相关进程,结果全是root的:

$ ps -fu 0x00 | grep -i vbox | grep -v grep
root         468       2  0 09:02 ?        00:00:00 [iprt-VBoxTscThread]

换成UID 1000查询时,就正确显示了我自己的VirtualBox进程:

$ 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

另外我尝试创建了一个以0x开头的用户名0x01,系统没有报错,创建成功了:

$ sudo useradd -M -s /usr/bin/nologin 0x01

$ id 0x01
uid=1001(0x01) gid=1001(0x01) groups=1001(0x01)

现在有两个疑问想请大家解答:

  • 为什么ps -U没法正确识别0x00这个用户名,反而匹配到了root的进程?
  • 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

备注:内容来源于stack exchange,提问作者Pelican Cyber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:20:28