ubuntu不显示用户登录信息
方法 1:禁用 last 和 lastb 记录的日志(utmp/wtmp/btmp)
这些日志文件通常位于:
/var/log/wtmp(记录登录成功信息,last 命令读取)
/var/log/btmp(记录登录失败信息,lastb 命令读取)
/run/utmp(当前登录会话,who 命令读取)
1、清空现有日志(可选):
1 | sudo truncate -s 0 /var/log/wtmp |
2、阻止未来记录:
1 | sudo chmod -x /usr/bin/last /usr/bin/lastb # 禁用命令执行(可选) |
方法 2:禁用 systemd-journald 日志(部分登录信息
如果使用 systemd,登录信息可能被记录在 journal 日志中:
1 | sudo systemctl stop systemd-journald.service # 临时停止 |
更推荐限制 journal 日志大小:
1 | sudo vim /etc/systemd/journald.conf |
然后重启服务:
1 | sudo systemctl restart systemd-journald |
方法 3:禁用 SSH 登录日志(如果通过 SSH 登录)
编辑 /etc/ssh/sshd_config:
1 | sudo vim /etc/ssh/sshd_config |
重启 SSH 服务:
1 | sudo systemctl restart sshd |
方法 4:使用 auditd 规则排除登录记录(高级)
如果系统启用了 auditd,可以添加规则排除特定用户的登录审计:
1 | sudo vim /etc/audit/audit.rules |
然后重启 auditd:
1 | sudo systemctl restart auditd |
注意事项
- 副作用:
– 禁用日志可能影响故障排查或安全审计。
– 某些服务(如 fail2ban)依赖这些日志。 - 权限要求:大部分操作需要 root 权限
- 临时方案:部分方法(如清空文件)会在系统重启后恢复记录
验证是否生效
- 检查命令是否无输出:
1
2
3last
lastb
journalctl -u sshd | grep "session opened"
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 青衫烟雨客!
