WSL 下 Ubuntu 中的 /var/log/auth.log

WSL 下 Ubuntu 中的 /var/log/auth.log

在 Windows Subsystem for Linux (WSL) 下运行 Ubuntu 时,我在哪里可以找到登录信息?我通常希望它在 中/var/log/auth.log,但我在那里没有看到任何登录尝试。

我的输出/var/log/auth.log

我的 /var/log/auth.log 的输出

答案1

您在 WSL 下看不到的原因有两个/var/log/auth.log

  • 首先,WSL 默认不运行任何服务,包括rsyslog。没有系统日志服务,那么...就没有 syslog!我假设你已经搞清楚了这一点,因为你不过,有一个/var/log/auth.log。对于正在阅读本文的其他用户,您需要执行一个sudo service rsyslog start来启动日志服务。

  • 其次,正如 ThomasWard 在评论和讨论中指出的那样,WSL 并不是传统意义上的“登录”。具体来说,在 Ubuntu 下,PAM(可插入身份验证模块)用于对用户进行身份验证。而 PAM 就是将身份验证信息记录到 syslog 中,通常会导致您期望的输出/var/log/auth.log

    但你会注意到,启动 WSL 时无需输入密码。这是因为 WSL 的/init进程(其 PID 为 1,是所有其他进程的父进程)将你的 shell 启动为默认用户。密码在 WSL 中没什么用,因为它是你的视窗用户最终决定了您对系统的访问权限。换句话说,即使root在 WSL 中也永远不会超出 Windows 用户的权限。

    由于您已经登录到 Windows,WSL 不需要 WSL 用户密码的“额外保护”。

然而,正如你在现有/var/log/auth.log您可以执行哪些操作来触发 PAM,从而触发写入日志。最常见的两个是susudo

另请注意,/etc/securetty您在日志中看到的消息是由于pam_securetty模块尝试查找其配置。由于 WSL 下未配置(或不需要),因此 Ubuntu 默认不提供该文件。

相关内容