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
相关产品推荐
相关产品推荐

