Linux bash运维操作日志审计(单服务器)

摘要:
因此,我们可以参考数据来完成1。vim/etc/配置文件。d/plogrc。shlogdir=/opt/plooguserdir=$logdir/${LOGNAME}DT=`date+“%Y%m%d”`exportHISTFILE=“/$userdir/history.$DT”exportHISTIMEFORMAT=“%F%T:

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

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=128
export HISTFILESIZE=8192
export PROMPT_COMMAND="history -a"

if [ ! -d $logdir ];then
    mkdir -p $logdir
    chmod 777 $logdir
fi

if [ ! -d $userdir ];then
    mkdir -p $userdir
    chmod 300 $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 300 $hisfile
        chattr +a $hisfile
    else
        lsattr $hisfile | awk '{ print $1 }' | grep -v "a" &> /dev/null && chmod 300 $hisfile && chattr +a $hisfile
    fi
    find . -type f -size 0 -mtime +1 -exec chattr -a {} ;
    find . -type f -size 0 -mtime +1 -exec rm -f {} ;
done

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

3. crontab -e

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

每分钟执行一下。

免责声明:文章转载自《Linux bash运维操作日志审计(单服务器)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【转载】java连接MYSQL关于《国际经济学》若干问题的思考《三》下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

redhat7 升级openssh openssl

部署telnet,防止ssh启动失败  1、关闭防火墙或者开放23端口  2、安装启动服务,并开启root访问 yum install -y telnet-server.x86_64 yum install -y telnet.x86_64 yum install -y xinetd.x86_64 systemctl enable xinetd.ser...

ORACLE的SPFILE与PFILE

    ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型。它们是在数据库实例启动时候加载的,决定了数据库的物理结构、内存、数据库的限制及系统大量的默认值、数据库的各种物理属性、指定数据库控制文件名和路径等信息,是进行数据库设计和性能调优的重要文件。 初始化参数文件(Initialization Parameters...

HSF服务的开发与使用

转载:http://www.cnblogs.com/cloudml/p/4675705.html#undefined 1.HSF服务的开发 1) 基于Maven创建一个web工程HSFService,如下图,其他的可以自定义。 2)创建好好在src/main目录下创建一个java目录,并将其设置为sources folder,如下图所示: 3) 配置项...

私有云盘Seafile

私有云盘Seafile 环境:CentOS 7 Seafile版本: Seafile 7.0.5社区版 官网手册:https://cloud.seafile.com/published/seafile-manual-cn/deploy/using_mysql.md 其他版本下载:https://download.seafile.com/d/6e529724...

Jsp标签字典开发_基于Spring+Hibernate

目录 1. Jsp标签字典开发_基于Spring+Hibernate   1.1. 简述   1.2. 定义DictItem实体   1.3. 定义字典的@interface   1.4. 定义字典缓存类   1.5. 定义tld标签   1.6. 持久层实体使用注解   1.7. 页面调用jsp标签 2. 补充点   2.1. Hibernate设置属性...

Jquery 父、子、兄弟节点查询方法

JQUERY的父,子,兄弟节点查找方法: jQuery.parent(expr)  找父亲节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent(".class"); jQuery.parents(expr),类似于jQuery.parents(expr),但是是查找所有祖先元素,不限于父元素; jQu...