为什么通过 /proc/PID/cmdline 查询时登录进程的命令行会被部分删除?

为什么通过 /proc/PID/cmdline 查询时登录进程的命令行会被部分删除?

我在 Ubuntu 20.04 上遇到了一个奇怪的情况。

从 root shell 开始,我运行login -h selflinux -f chj以将用户登录chj到新的 Bash shell。然后我尝试通过 查询登录过程的命令行cat /proc/7809/cmdline,但我看不到完整的原始命令行。之后的内容-f似乎被抹去了。

我想知道为什么会发生这种情况?

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

答案1

出于安全原因,用户名未记录在信息中(我假设,但不确定)。如果更改命令行选项的顺序,请注意用户名仍然是唯一未显示的内容:

命令:

# login -f doug -h s19

结果:

$ ps aux | grep login
root        1602  0.0  0.0  11832  4864 pts/0    S    11:45   0:00 login -f      -h s19
$ cat /proc/1602/cmdline
login-f-hs19

您可以尝试进行更改/etc/login.defs以覆盖默认行为。我试过了,但没有成功。

相关内容