首页IT科技linux历史命令记录文件在哪(Linux中将执行过的命令记录到日志并发送到服务器的方法)

linux历史命令记录文件在哪(Linux中将执行过的命令记录到日志并发送到服务器的方法)

时间2025-05-06 03:03:43分类IT科技浏览4113
导读:工作中,需要把用户执行的每一个命令都记录下来,并发送到日志服务器的需求,为此我做了一个简单的解决方案。这个方案会在每个用户退出登录 时把用户所执行的每一个命令都发送给日志守护进程rsyslogd,你也可通过配置“/etc/rsyslog.conf”进一步将日志发送给日志服务器...

工作中           ,需要把用户执行的每一个命令都记录下来                ,并发送到日志服务器的需求     ,为此我做了一个简单的解决方案           。这个方案会在每个用户退出登录 时把用户所执行的每一个命令都发送给日志守护进程rsyslogd,你也可通过配置“/etc/rsyslog.conf           ”进一步将日志发送给日志服务器

第一种方法

# vi /etc/profile

#设置history格式

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| \

awk {print $NF}|sed -e s/[()]//g`] "

#记录shell执行的每一条命令

export PROMPT_COMMAND=\

if [ -z "$OLD_PWD" ];then

export OLD_PWD=$PWD;

fi;

if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then

logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";

fi ;

export LAST_CMD="$(history 1)";

export OLD_PWD=$PWD;

第二种方法

第一步:全局设置(这是一次性设置           ,需要root用户权限)
代码如下:

# vi /etc/profile

#用户登录时执行此脚本

#设置history显示格式

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null\

| awk {print $NF}|sed -e s/[()]//g`] "

#登录时清空当前缓存 echo "" > .bash_history

第二步:不同用户分别设置

代码如下:

# source /etc/profile

# vi /home/user1/.bash_logout

#当用户退出登录时会执行此脚本

tmpfile="/tmp/`whoami`_history.tmp"

#把格式化的history记录到文件里

history > $tmpfile

#读取文件                 ,一行一行把文件内容发送到给syslogd                。

#不要试图用"history | logger"或"logger -f $tmpfile"来替代下面的代码     ,

#否则将只能记录前200行     。

k=1

while read line; do

((k++))

logger -t `whoami`_shell_cmd "$line"

done < $tmpfile

rm -f $tmpfile

(如果还有其它用户需要监控     ,则重复第二步骤)

第三步:把日志发送给远程主机(可选)
代码如下:

# vi /etc/rsyslog.conf

#增加如下行,IP自己换,也可以用域名,@表示用UDP协议,@@表示用TCP协议

*.* @192.168.0.1

不足之处:

1. 不能实时记录命令并发送log

2. 要记录终端桌面下的命令需要重启      。

=========
声明:本站所有文章                 ,如无特殊说明或标注           ,均为本站原创发布                。任何个人或组织     ,在未征得本站同意时                ,禁止复制           、盗用                、采集     、发布本站内容到任何网站      、书籍等各类媒体平台           。如若本站内容侵犯了原著者的合法权益           ,可联系我们进行处理      。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
发文章赚钱的平台哪个好无时间限制(文章发布插件:让发文变得简单高效)