Linux系统一般将当前用户登录信息/var/run/utmp
存储在/var/log/wtmp
.
那么,它是如何同步它们之间的信息的,
在libmisc/utmp.c
(对于软件包源中的 Debian login
)第 301 行中,注释setutmp()
如下:
/*
* setutmp - Update an entry in utmp and log an entry in wtmp
*
* Return 1 on failure and 0 on success.
*/
Run Code Online (Sandbox Code Playgroud)
实际上/var/run/utmp
首先立即更新,然后通过调用写入日志updwtmp()
(如果使用 PAM,则 PAM 写入日志)。在这两种情况下,信息都是明确写入的而不是同步的,因此您的第 2 点不相关。
在 Debian 系统上找到它。首先猜测谁可以编写(内核,login
命令)。内核中的搜索utmp
和wtmp
字符串没有提供太多信息。所以使用dpkg -S $(which login)
来查找包名的login
来源和 google for debian login package
. 这将引导您shadow*.tar.gz
在这些来源中找到编写utmp
和wtmp
.
归档时间: |
|
查看次数: |
2473 次 |
最近记录: |