您的位置:首页 > 运维架构 > Linux

Linux 系统添加操作记录审计

2017-08-04 00:00 323 查看
有时候我们需要对线上用户操作记录进行历史记录待出现问题追究责任人,但Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?
1.
mkdir -p /usr/local/domob/records/                    //创建一个记录的目录

chmod 777 /usr/local/domob/records/                  //授权

chmod +t /usr/local/domob/records/                  //防删除,个人的文件个人管理,别人删除不不了

2.
vi /etc/profile 在最后添加下面的代码
if [ ! -d  /usr/local/domob/records/${LOGNAME} ]        ##看一下针对用户的这个目录有没有创建,没有就创建一个如下:

then

mkdir -p /usr/local/domob/records/${LOGNAME}

chmod 300 /usr/local/domob/records/${LOGNAME}           ##授权只可以执行和写入-wx------

fi

export HISTORY_FILE="/usr/local/domob/records/${LOGNAME}/bash_history"          ##定义全局环境变量

export PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i |awk "{print \$1\" \"\$2\" \"\$5}") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >>$HISTORY_FILE'
##如上是把用户敲得命令加上一系列的date参数保存到命令历史中。
然后我们使用一个账户去模拟登录终端,然后输入一些命令,然后咱们使用root账户登录进入到/usr/local/domob/records 就会发现里面有个用户的目录,然后目录下有个bash_history文件!! 从此用户输入的每条命令都会记录在此文件内!也是为了咱们后期当用户输入错误的命令导致宕机,我们可以更好的去排查问题!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  系统管理