【发布时间】:2017-08-12 03:05:57
【问题描述】:
作为系统管理员,我正在尝试在虚拟机上模拟用户以测试日志文件监控。
模拟用户将自动执行应显示在 bash 历史记录中的各种任务,“ls”、“cd”、“touch”等。重要的是它们显示在 bash 历史记录中,因为 bash 历史记录已被记录.
我曾考虑直接写入 bash 历史记录,但更愿意更准确地模拟用户行为。原因是 bash 历史记录不是唯一被监视的日志文件,如果同一事件的日志保持同步会更好。
详情 我正在开发 CentOS Linux 版本 7.3.1611 Python 2.7.5 已安装
我已经尝试过使用 pexpect.run('ls') 或 pexpect.spawn('ls'),'ls' 不会出现在任何一个命令的 bash 历史记录中。
【问题讨论】:
-
ephemient 在他的回答中提到了这一点,但在这里值得强调的是:
bash历史不是审计工具; shell 用户可以方便地重复过去执行的类似命令。历史也是每个会话,而expect.spawn启动一个新的shell。该命令被添加到该 shell 的历史记录中,但是当 shell 退出时该历史记录消失了。
标签: python linux bash shell pexpect