我正在运行 Ubuntu 22.04。所有文档都指出,在注销时,utmp 条目会像登录时一样附加到 wtmp 文件中,只是用户名字段会用空字节清零。这曾经是正确的。现在,当我使用 utmpdump 转储 wtmp 文件并使用我编写的程序对其进行仔细检查时,用户名字段包含实际用户名。现在使用的是哪个版本的 logout.c?glibc/login/logout.c 函数在注销时明确将该字段清零。
这很重要,因为如果我想编写 last(1) 的一个版本,检测与登录相关的注销的方法取决于该字段是否为空。