目前公司有几台机器比较重要,需要把所有用户的操作记录下来,于是就是参照资料来完成

1. vim /etc/profile.d/oplogrc.sh

logdir=/opt/oplog
userdir=$logdir/${LOGNAME}
DT=`date +"%Y%m%d"` export HISTFILE="/$userdir/history.$DT"
export HISTTIMEFORMAT="%F %T :"
export HISTSIZE=
export HISTFILESIZE=
export PROMPT_COMMAND="history -a" if [ ! -d $logdir ];then
mkdir -p $logdir
chmod $logdir
fi if [ ! -d $userdir ];then
mkdir -p $userdir
chmod $userdir
fi shopt -s histappend readonly HISTFILE
readonly HISTTIMEFORMAT
readonly HISTSIZE
readonly HISTFILESIZE
readonly PROMPT_COMMAND
readonly HISTCMD
readonly HISTCONTROL

该文件定义了记录history的位置,目录,并且设置这些环境变量只读

2. vim /opt/shells/optlogcron.sh    

logdir=/opt/oplog
userdir=$(ls $logdir)
DT=`date +"%Y%m%d"`
for user in $userdir;do
hisfile="$logdir/$user/history.$DT"
if [ ! -f $hisfile ];then
touch $hisfile
chown $user:$user $hisfile
chmod $hisfile
chattr +a $hisfile
else
lsattr $hisfile | awk '{ print $1 }' | grep -v "a" &> /dev/null && chmod $hisfile && chattr +a $hisfile
fi
find . -type f -size -mtime + -exec chattr -a {} \;
find . -type f -size -mtime + -exec rm -f {} \;
done

o该文件主要用途是让日志文件加上特殊权限,防止被删除,清楚一天前的空日志。

3. crontab -e

*/1 * * * * /opt/shells/oplogcron.sh &> /dev/null

每分钟执行一下。

Linux bash运维操作日志审计(单服务器)的更多相关文章

  1. Linux内存运维操作及常用命令

    Linux内存运维操作及常用命令 1.问题诊断 1.1 什么是 Linux 服务器 Load Average? 1.2如何查看 Linux 服务器负载? 1.3服务器负载高怎么办? 1.4如何查看服务 ...

  2. Linux系统实战项目——sudo日志审计

    Linux系统实战项目——sudo日志审计   由于企业内部权限管理启用了sudo权限管理,但是还是有一定的风险因素,毕竟运维.开发等各个人员技术水平.操作习惯都不相同,也会因一时失误造成误操作,从而 ...

  3. Linux系统运维之路

    九月份开始,半年内搞定运维,博客会慢慢的更新,vim编辑器,Nginx配置文件优化 运维基础 运维基础-Linux发展史.安装.基本操作 运维基础-用户和组管理 运维基础-文件权限管理 运维基础-进程 ...

  4. Linux系统运维工程该具备哪些素质

    记得在上高中时,物理老师总是会对我们一句话:"学习是件苦差事."工作后发现,其实做运维也是件苦差事.最为一名运维工程师,深知这一行的艰辛,但和IT行业其他职务一样,那就是付出的越多 ...

  5. 要成为linux网站运维工程师必须要掌握的技能

    要成为linux网站运维工程师必须要掌握的技能 2015-07-27 发表 老男孩点评:感谢此文的作者,写的非常到位,值得入门的初学者认真看看 我是一名linux运维工程师,确切的说是网站运维工程师, ...

  6. 零基础转行Linux云计算运维工程师获得20万年薪的超级学习技巧

    云计算概念一旦产生便一发不可收拾,成为移动互联网时代最为火热的行业之一.国内各大互联网公司例如阿里.腾讯.百度.网易等纷纷推出自己的云计算产品,3月10日,腾讯云0.01元投标时间更是让云计算在普罗大 ...

  7. Linux系统运维相关的面试题 (问答题)

    这里给大家整理了一些Linux系统运维相关的面试题,有些问题没有标准答案,希望要去参加Linux运维面试的朋友,可以先思考下这些问题.   一.Linux操作系统知识 1.常见的Linux发行版本都有 ...

  8. 一点不懂到小白的linux系统运维经历分享

    进入运维行业刚不到二个年头, 刚刚从大白变成小白.都说it行业是青春的饭.但是运维行业可不这么认为.运维工程师便是经验技术的积累,经历的过的沟沟坑坑都会融入你的血液,成为你的智慧. 二年前接触linu ...

  9. Linux系统运维笔记(五),CentOS 6.4安装java程序

    Linux系统运维笔记(五),CentOS 6.4安装java程序 用eclipse编译通的java程序,现需要实施到服务器.实施步骤: 一,导出程序成jar包. 1,在主类编辑界面点右健,选  ru ...

随机推荐

  1. Irrlicht引擎I 配置

    游戏是一个比较大的系统,包含了图形引擎.网络.AI.声音.UI等模块,模块的开发可能会分别进行或者采用开源项目,Irrlicht引擎基本包含了这些模块,不过在使用中也会陆续加入其它的模块.以前开发的程 ...

  2. PHP实例练习--投票和租房子

    一,调查问卷 效果图:

  3. 用Delphi“遥控”按钮

    很多情况下,我们需要在程序中实现这样的功能:在自编写的程序里控制另外一软件中的某个按钮被按下.比如,有一天你在聊QQ时觉得烦了,那么就想写程序来帮你按下“发送”按钮,省得你自己一次次动手了.那么,这个 ...

  4. 初始Spring

    Spring框架概述 1.什么是Spring struts2----是web层框架,围绕请求和响应 Hibernate----是持久层框架,围绕业务的增删改查 Spring是分层的JavaSE/EE ...

  5. Java 遍历Map时 删除元素

    Java代码   package,,,,,,,,,,,==){ System.out.println("delete this: "+key+" = "+key ...

  6. zabbix-agent passive

    http://www.cnblogs.com/mysql-dba/p/5010902.html http://blog.chinaunix.net/uid-29155617-id-4668602.ht ...

  7. freebsd 禁用root登录ssh并给普通用户登录权限

    转自http://www.linux521.com/2009/system/200904/2021.html http://www.myhack58.com/Article/48/67/2011/30 ...

  8. mysql 存储过程--- 创建,调用,删除

    DELIMITER //CREATE PROCEDURE p_addscore(nums INT,OUT retrows INT)BEGINDECLARE i INT DEFAULT 0;add_lo ...

  9. 获取表单的初始值,模拟placeholder属性

    input和textarea有一个默认属性defaultValue,即初始值. 即使在页面操作修改了input和textarea的内容,获取到的defaultValue依然是初始值.可通过该值模拟pl ...

  10. [LeetCode]题解(python):80-Remove Duplicates from Sorted Array II

    题目来源 https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii/ Follow up for "Remov ...