cat bashhist.c |grep pid
syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY: PPID=%d PID=%d UID=%d %s", getppid(), getpid(), current_user.uid, line);
syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED): PPID=%d PID=%d UID=%d %s", getppid(), getpid(), current_user.uid, trunc);
这样可以显示ppid,跟踪sh切换后的用户
bash 4.1 增加了syslog 历史命令的功能,编译时 vi config-top.h 將此行/*#define SYSLOG_HISTORY*/ 修改為#define SYSLOG_HISTORY ‧./configure & make ‧ make install 這樣就可以使用bash-4.1 的新功能了,历史命令保存到syslog!
cat bashhist.c |grep pid
syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY:SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(), current_user.uid, line);
syslog (SYSLOG_FACILITY|SYSLOG_LEVEL, "HISTORY (TRUNCATED):SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(), current_user.uid, trunc);
增加sid 用户切换也可以跟踪,su - mysql等等
sed -e 's/HISTORY: PID=%d UID=%d %s", getpid(),/HISTORY:SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(),/' -e 's/HISTORY (TRUNCATED): PID=%d UID=%d %s", getpid(),/HISTORY (TRUNCATED):SID=%d PPID=%d PID=%d UID=%d %s", getsid(getpid()), getppid(), getpid(),/' bashhist.c>bashhist.c.1;mv bashhist.c bashhist.c.2;mv bashhist.c.1 bashhist.c; diff bashhist.c bashhist.c.2
bash升级、增加syslog功能并统一记录到日志服务器、记录history命令、并可以取出key登录的key-comment用户名和ip,
http://blog.hellosa.org/2013/07/27/log-bash-history-to-syslog-on-centos-6.html
http://www.366yw.com/?p=590
相关推荐
例如,你可以用它来更新历史记录,或者根据最近执行的命令改变终端的颜色方案。 `bash-preexec`实现这个功能的方式是通过添加两个特殊的函数:`preexec_invoke_exec`和`precmd_invoke_command`。这两个函数在适当的...
1. 检查是否禁用 guest 缺省用户 ...4. 检查 SNMP 配置是否更改 ...12. 检查 Bash 历史命令条数是否配置正确 13. 检查 syslog 是否已启用并转发到中央日志收集服务器 14. 检查安全审计功能是否已启用并记录相关事件
新的Bash将把历史记录写入`syslog`,这可以防止攻击者直接篡改本地历史记录。 编译和安装过程完成后,更新用户shell为新版本的Bash,或者直接替换原有二进制文件(确保备份)。一旦新Bash开始运行,`history`命令...
《从开机到Bash提示符:新手入门指南》是一份详尽的教程,旨在帮助Linux初学者理解系统从开机启动到用户登录并看到Bash命令行提示符这一过程中的每一个步骤。这份文档由Greg O'Keefe编写,版本为0.9,发布于2000年11...
14. 交互式Shell工具:`bash-completion`自动补全功能,`history`查看和重用历史命令。 通过这两个文档,无论是初学者还是经验丰富的系统管理员,都能找到所需的信息,提升Linux操作技能。深入理解和熟练运用这些...
4. **发送历史记录到syslog**:通过在bash配置文件中添加以下内容,可以将history记录自动发送到syslog服务: ```bash shopt -s cmdhist PROMPT_COMMAND="$PROMPT_COMMAND; logger -t bash-history -i '$(history...
- 自动将日志文件归档,便于管理和查询历史日志。 #### 配置Logrotate - **配置文件**:Logrotate的主要配置文件位于/etc/logrotate.conf,额外的配置文件可以在/etc/logrotate.d/目录下找到。 - **示例配置**(/...
- `history`:显示历史命令记录。 - `alias`:创建命令别名,简化常用命令输入。 - `echo` 和 `printf`:在终端输出文本。 以上只是Linux常用命令的冰山一角,实际使用中还有很多其他的命令和组合,如管道符(`|...
以上只是Linux命令大全中的一小部分,实际上还有许多其他命令,如`sudo`用于以管理员身份执行命令,`history`显示最近的命令历史,`less`分页查看文件内容等。学习和掌握这些命令将极大地提高你在Linux环境中的工作...
- `history`: 查看历史命令记录。 - `cron`: 定时任务管理,配置周期性执行任务。 5. **网络与文件传输** - `ifconfig`: 查看或配置网络接口。 - `ping`: 检测网络连通性。 - `netstat`: 显示网络连接、路由表...
常见的Shell有Bash(Bourne-Again SHell)、C Shell、Korn Shell和Z Shell等。Shell脚本编写是提高效率的重要手段,通过编写一系列命令可以实现自动化任务。 2. **文件及目录管理**: - `cd`:改变当前工作目录。 ...
Bash是常用的shell,通过编辑/etc/inputrc和设置INPUTRC环境变量,可以启用命令补全功能,类似于DOSKEY,使得文件和目录操作更加便捷。此外,可以自定义键盘快捷键,如F7和F8作为历史搜索功能,提高工作效率。示例中...
例如,`echo $SHELL`用于显示当前用户的Shell类型,通常为bash,它支持命令补全和历史记录功能。`vi /etc/passwd`用于编辑系统账户配置文件,其中包含了用户信息,包括默认Shell的设置。`bootinfo -y`和`bootinfo –...
- `history`:查看命令历史。 - `clear`:清空终端屏幕。 - `alias`:创建命令别名。 - `man`:查看命令的帮助文档。 通过这份"超级方便的Linux命令手册",用户可以系统性地学习和掌握这些基本和高级的Linux...
通常,这样的工具会结合使用Bash命令,如`top`(显示实时进程状态)、`free`(查看内存使用)、`df`(检查磁盘空间)、`netstat`(分析网络连接)和`last`(查看用户登录历史)等,来获取系统信息。 创建一个自定义...
5.1.4 bash 引号规则 5.1.5 运算符 5.1.6 表达式替换 5.1.7 标准shell变量 5.1.8 影响命令的变量 5.2 过程 5.2.1 在过程内部使用变量 5.2.2 shift 命令 5.2.3 建立局部过程变量 5.2.4 过程返回值 5.3 脚本执行命令 ...
- `bash`:Bourne-Again SHell,用于编写shell脚本。 - `echo`/`printf`:在脚本中输出文本。 - `for`/`while`/`if`:循环和条件判断结构。 以上仅为AIX命令参考大全中部分重要知识点,实际操作中还有许多其他...
1. **命令历史**:使用`history -r`删除当前会话的历史记录,`history -c`清空内存中的所有历史记录,`rm .bash_history`删除历史文件,设置`HISTSIZE=0`来禁止保存历史记录。 - 可以通过修改`.bashrc`文件来永久...
syslog服务记录各种系统事件,而last命令可查看用户登录历史,auditd提供更高级的审计功能。 综上所述,设置UNIX服务器的用户账号涉及多个层面:账户创建与管理、密码策略、权限控制、组管理、环境变量、身份切换及...
6. **脚本编程**:UNIX shell提供了编写shell脚本的能力,如Bash(Bourne Again SHell),你可以用它来自动化重复任务,结合`if`、`for`等控制结构以及上面提到的命令。 7. **软件安装与管理**:`make`编译源代码,...