在Linux系统中“普通场景”下隐匿操作痕迹

在Linux系统中"普通场景"下隐匿操作痕迹

echo $HISTFILE​ 通过这个命令可以知道当前系统是哪个文件保存了命令历史,通常就是~/.bash_history文件。

如果需要删除的更彻底还需要注意以下几点:

  1. 当前会话的历史记录仍存在 :Bash 会在内存中维护当前会话的历史记录,即便 ~/.bash_history​ 被删除,当前会话中输入的命令仍可以通过 history​ 命令查看。只有当你退出 shell 时,当前会话的历史才会尝试写回到 HISTFILE​ 文件。

  2. 退出时写入新文件 :当你删除 ~/.bash_history​ 后,当前会话结束时,Bash 会创建一个新的 ~/.bash_history​ 文件,并将当前会话的命令写入其中。

  3. 彻底清除当前会话的历史记录:如果你希望不仅删除历史文件,还清除当前会话中的历史记录,可以执行以下命令:

    • 清除当前会话的历史:history -c
    • 清除历史文件内容(如果文件已重新创建):cat /dev/null > ~/.bash_history,或者你可以选择直接删除这个文件。
    • 退出会话时不保存当前历史:unset HISTFILE

这些步骤可以确保 Bash 不再保存你的命令历史记录,但并不意味着所有操作记录都被彻底清除。还需考虑以下几点因素:

  1. 系统日志

许多 Linux 发行版会将系统操作记录在日志文件中,特别是通过 sudo​ 执行的命令通常会记录在 /var/log/auth.log​(Debian/Ubuntu)或 /var/log/secure​(CentOS/RHEL)中。这些日志记录可能包含你执行的命令、操作时间、使用的用户等信息。

清除日志

php 复制代码
sudo sh -c '> /var/log/auth.log'  # Debian/Ubuntu
sudo sh -c '> /var/log/secure'    # CentOS/RHEL
  1. last 和 lastlog 命令:

​**last​ 命令显示用户登录的历史记录, lastlog**​ 显示用户的最后登录时间。如果你想要隐匿登录记录,你需要清除这些信息:

php 复制代码
sudo sh -c '> /var/log/wtmp'  # 清除 last 记录
sudo sh -c '> /var/log/btmp'  # 清除失败的登录尝试记录
sudo sh -c '> /var/log/lastlog'  # 清除 lastlog 记录
  1. 命令行别名或环境变量:

一些系统可能会通过 HISTCONTROL​ 环境变量或别名跟踪命令历史。检查 ~/.bashrc​ 中是否有配置,并考虑以下变量:

php 复制代码
export HISTCONTROL=ignoreboth  # 忽略空命令和重复命令
export HISTIGNORE="ls:cd:pwd"  # 忽略特定命令
  1. 高权限命令的痕迹:

​**sudo**​:每次使用 sudo​ 命令,都会在日志文件中记录操作。如果你使用 sudo​,即使删除 Bash 历史记录,系统仍然会保存日志。清除 /var/log/auth.log​ 或 /var/log/secure​ 可以删除这些记录

上述操作能在 普通场景 下隐匿你在系统上的操作记录,特别是针对 Bash 历史记录的清除。但 系统管理员的日志和记录 (如 /var/log/*​ 文件)可能仍然保存着你的操作痕迹。彻底删除这些痕迹需要高权限。

相关推荐
Lionhacker11 小时前
网络工程师这个行业可以一直干到退休吗?
网络·数据库·网络安全·黑客·黑客技术
centos0812 小时前
PWN(栈溢出漏洞)-原创小白超详细[Jarvis-level0]
网络安全·二进制·pwn·ctf
程序员小予15 小时前
如何成为一名黑客?小白必学的12个基本步骤
计算机网络·安全·网络安全
蜗牛学苑_武汉17 小时前
Wazuh入侵检测系统的安装和基本使用
网络·网络安全
乐茵安全17 小时前
linux基础
linux·运维·服务器·网络·安全·网络安全
如光照20 小时前
Linux与Windows中的流量抓取工具:wireshark与tcpdump
linux·windows·测试工具·网络安全
follycat21 小时前
2024强网杯Proxy
网络·学习·网络安全·go
黑色叉腰丶大魔王1 天前
《运维网络安全》
运维·网络·网络安全
bluechips·zhao1 天前
协议栈攻击分类(CISP-PTE笔记)
笔记·安全·网络安全