今天的会议记录:
x@yz:~$ shutdown now
User nobody is logged in on ???.
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl poweroff -i'.
我一直在使用shutdown now
,从未见过这样的东西。这是什么?有什么事nobody
吗???
?nobody
我是我系统的唯一用户,从来没有在那里搞砸过
编辑(根据评论):
x@yz:~$ ps -aux | grep nobody
nobody 2666 0.0 0.0 45408 132 ? Ss May 09 0:00 /lib/systemd/systemd --user
nobody 2667 0.0 0.0 163956 8 ? S May 09 0:00 (sd-pam)
x 11189 0.0 0.0 24480 1004 pts/0 S+ 02:50 0:00 grep --color=auto nobody
x@yz:~$ ps -U 65534
PID TTY TIME CMD
2666 ? 00:00:00 systemd
2667 ? 00:00:00 (sd-pam)
为了澄清这一切: -
1. 怎么没有用户进入你的系统?
没有人用户是在许多 Linux 和 Unix 发行版的全新安装中默认创建的伪用户
2.谁是nobody用户?
“没人”用户在系统上拥有最少的权限。它不拥有任何文件,不属于特权组,并且除了每个其他用户都拥有的能力之外,它没有任何能力。没有人用户没有分配给它的外壳。
3、nobody用户的目的是什么?
在早期的 Unix 和 Linux 发行版中,通常在 nobody 用户下运行守护进程(例如网络服务器)以限制对系统其余部分的破坏,因此如果恶意用户获得了对此类守护进程的控制权,他就没有访问任何文件或特权。
但问题是,当有多个守护进程以nobody 用户运行时,这已经没有意义了。这就是为什么今天这样的守护进程有自己的用户。
4、nobody用户如何登录你的系统?
您可能正在运行一些服务/守护程序,它在无人用户下运行。一些服务示例可以是:httpd、nfs、postfix 等
5. 在nobody 用户下你的系统上运行的两个进程是什么?
6.为什么进程(systemd和sd-pam)仍然存在,即使在nobody用户下运行的服务不再运行?
好吧,这已被报告为一个错误,其中
Systemd 无法正确关闭 pam 会话,因为 sd-pam 子进程在 pam_open_session() 之后删除了权限。因此 pam_close_session() 以用户身份而不是以 root 身份运行,这会破坏需要执行特权任务以清理会话的 PAM 模块。
有关这方面的更多信息:
https://github.com/systemd/systemd/issues/8598
https://github.com/systemd/systemd/issues/1350
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=803907;msg=5
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=749268