Add files via upload
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
### 如何不记录执行命令
|
||||
|
||||
**1. 临时禁用历史记录**
|
||||
|
||||
在执行敏感操作之前,你可以临时修改或禁用 Shell 记录机制:
|
||||
|
||||
| 方法 | 命令示例 | 效果和原理 |
|
||||
| ------------------------ | --------------------------- | ------------------------------------------------------------ |
|
||||
| **清除环境变量** | `unset HISTFILE` | **临时移除** 历史文件路径变量。Shell 将无法找到写入历史记录的文件,操作期间的命令不会被记录 |
|
||||
| **清空历史缓冲区** | `history -c` | 清除当前 Shell 会话 **内存中** 的历史记录缓冲区。在会话结束前执行可确保本次命令不写入文件 |
|
||||
| **设置历史记录大小为零** | `export HISTSIZE=0` | 将 Shell 内存中可存储的历史命令数量设置为 `0`。如果执行此操作,当前会话中的命令将不会被记录 |
|
||||
| **组合使用(推荐)** | `export HISTFILE=/dev/null` | 将历史文件重定向到 `/dev/null`(黑洞文件)。这样,所有的历史记录输出都会被丢弃,不会写入任何可追踪的文件 |
|
||||
|
||||
**操作流程:**
|
||||
|
||||
1. 进入 Shell 后执行:`export HISTFILE=/dev/null`
|
||||
2. 执行你的权限维持命令(例如:植入后门、修改配置)
|
||||
3. 操作完成后,退出 Shell 或执行 `unset HISTFILE` 恢复正常环境
|
||||
|
||||
**2. 使用空格或特殊字符**
|
||||
|
||||
Bash Shell 默认有一个配置变量 **`HISTCONTROL`**。如果它被设置为 `ignorespace`(或包含该值,这也是许多发行版的默认设置),那么在命令前面加一个空格,该命令就不会被写入历史文件
|
||||
|
||||
- **执行示例:**
|
||||
|
||||
```bash
|
||||
# 注意,这里的每个命令前都有一个空格
|
||||
ls -la
|
||||
export PATH=/tmp:$PATH
|
||||
```
|
||||
|
||||
- **注意:** 如果 `HISTCONTROL` 被设置为 `ignoreboth`,则包含空格和重复的命令都会被忽略
|
||||
Reference in New Issue
Block a user