萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 清除使用者登入紀錄與命令歷史完整指令集

安全稽核、隱私保護或測試環境重置時,需清除登入成功/失敗紀錄與命令歷史。本文提供標準指令與腳本化範例。

清除登入成功紀錄 (wtmp)

> /var/log/wtmp
last          # 驗證:應無輸出

清除登入失敗紀錄 (btmp)

> /var/log/btmp
lastb         # 驗證:應無輸出

清除當前使用者命令歷史

history -c
> ~/.bash_history

進階:保留特定歷史並重載

# 1. 備份想保留的指令
history > /root/keep_history.txt

# 2. 清空記憶體內歷史
history -c

# 3. 讀回保留指令
history -r /root/keep_history.txt

# 4. 驗證
history

自動化腳本範例 (clean_logs.sh)

#!/bin/bash
# 需 root 執行
> /var/log/wtmp
> /var/log/btmp
> /var/log/secure   # 視需求保留
for u in /home/* /root; do
  [ -f "$u/.bash_history" ] && > "$u/.bash_history"
done
echo "Logs cleared at $(date)" >> /var/log/admin_clean.log

加入 crontab 定期執行(謹慎使用)。

注意事項

  • 生產環境清除日誌可能違反合規/審計要求,務必先確認政策。
  • /var/log/wtmp、/var/log/btmp 為二進位檔,> 截斷即可,不需 rm。
  • systemd-journald 另行管理 journalctl --vacuum-time=7d 清理。
copyright © 萬盛學電腦網 all rights reserved