通过登陆IP记录Linux所有用户登录所操作的日志

post by rocdk890 / 2013-2-27 15:50 Wednesday linux技术
对于Linux用户操作记录一般通过命令history来查看历史记录,但是如果在由于误操作而删除了重要的数据的情况下,history命令就不会有什么作用了.那么依然要存有历史操作记录应该如何来实现呢?

其实我们可以通过登陆IP地址来记录所有用户登录所操作的历史操作!具体操作就是在/etc/profile配置文件的末尾加入以下脚本代码来实现:
cat >>/etc/profile<< EOF
# History
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
 USER_IP=`hostname`
fi
if [ ! -d /usr/local/history ]; then
 mkdir /usr/local/history
 chmod 777 /usr/local/history
fi
if [ ! -d /usr/local/history/${LOGNAME} ]; then
 mkdir /usr/local/history/${LOGNAME}
 chmod 300 /usr/local/history/${LOGNAME}
fi
export HISTSIZE=10000
DT=`date +"%Y-%m-%d_%H:%M:%S"`
export HISTFILE="/usr/local/history/${LOGNAME}/${USER}@${USER_IP}_history.$DT"
chmod 600 /usr/local/history/${LOGNAME}/*history* 2>/dev/null

source /etc/profile使上面的代码生效.
然后退出系统重新登录才会有记录.

通过上面脚本可以看出,在/usr/local/下新建history目录,文件名有用户、IP、时间信息.
ll /usr/local/history/root/

点击查看原图

可以看到已经有记录了.

ps:http://300second.blog.51cto.com/7582/1020686

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-320.html

标签: linux 日志 log 记录 history 配置文件 操作记录