Linux 系统添加操作记录审计

有时候我们需要对线上用户操作记录进行历史记录待出现问题追究责任人,但Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?

一般小型架构添加这个足够了,如果中大型的架构建议使用 jumpserver

  1. 创建记录目录
mkdir -p /usr/local/domob/records/
 
chmod 777 /usr/local/domob/records/
 
chmod +t /usr/local/domob/records/

+t:防删除

  1. 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}
 
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'

只有root用户才可以查看所有用户的操作记录:

[[email protected]-1 ~]# cd /usr/local/domob/records/
[[email protected]-1 records]# ls
admin  root
[[email protected]-1 records]# cd admin
[[email protected]-1 admin]# ls
bash_history
[[email protected]-1 admin]# cat bash_history 
2017-09-23 21:15:11 ##### admin pts/1 (192.168.15.253) #### history
2017-09-24 14:42:43 ##### admin pts/0 (192.168.14.109) #### history
2017-09-24 14:42:46 ##### admin pts/0 (192.168.14.109) #### sudo sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config
2017-09-24 14:42:47 ##### admin pts/0 (192.168.14.109) #### sudo setenforce 0
2017-09-24 14:48:33 ##### admin pts/0 (192.168.14.109) #### sudo setenforce 0
2017-09-25 14:25:59 ##### admin pts/0 (192.168.15.253) #### sudo systemctl stop firewalld
2017-09-25 14:26:16 ##### admin pts/0 (192.168.15.253) #### w
2017-09-25 14:27:27 ##### admin pts/0 (192.168.15.253) #### history
2017-09-25 14:27:46 ##### admin pts/0 (192.168.15.253) #### sudo systemctl disable firewalld
2017-09-25 14:27:56 ##### admin pts/0 (192.168.15.253) #### netstat -lntp
2017-09-25 14:35:15 ##### admin pts/0 (192.168.15.253) #### cd /usr/local/nginx/sbin
2017-09-25 14:35:17 ##### admin pts/0 (192.168.15.253) #### ls
2017-09-25 14:35:22 ##### admin pts/0 (192.168.15.253) #### cd nginx
2017-09-25 14:35:24 ##### admin pts/0 (192.168.15.253) #### cd
2017-09-25 14:35:49 ##### admin pts/0 (192.168.15.253) #### find / -name "*vhost"
2017-09-25 14:36:05 ##### admin pts/0 (192.168.15.253) #### sudo find / -name "vhost"
2017-09-25 14:36:15 ##### admin pts/0 (192.168.15.253) #### cd /usr/local/nginx/conf/vhost/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java学习123

ORA-12519: TNS:no appropriate service handler found 解决

32890
来自专栏SDNLAB

OpenStack Tacker集成VNF的方法

27550
来自专栏Java编程技术

使用MySQL Server Side Cursor解决查询数据量过大造成OOM

前面介绍了MyBaits中两种使用游标的方式来避免搜查内容过大导致OOM,这两种方式被称为是客户端side的游标,因为mysql client每次从自己的接受b...

14710
来自专栏blackpiglet

DNSMasq 域名解析配置

DNSMasq 主要用来解决内网 DNS 域名缓存、DHCP、网络启动和路由通告功能,本文主要是将 DNSMasq 作为内网 DNS 使用。安装环境为 Ubun...

42840
来自专栏北京马哥教育

NFS实现(双httpd + php-fpm + nfs + mysql 搭建discuz论坛)

NFS相关介绍 一、NFS简介 1. NFS(Network File System): NFS是一个文件共享协议, 也是是在类Unix系统中在内核中实现的文件...

38570
来自专栏农夫安全

【原创】中间件测试方法总结---(1)

前言 之前讲了一些关于中间件的漏洞,本次来详细介绍一下对于常见中间件漏洞的测试,转载请说明来源,禁止用于非法和商业用途,多谢老铁支持 0x01 测试目...

49560
来自专栏乐沙弥的世界

Linux 6 下yum方式安装配置LAMP平台

1、apache httpd与php之间的衔接是通过模块化的方式来实现。 2、对于perfork模式使用libphp5模块,worker和event模式则使...

18120
来自专栏hotqin888的专栏

beego利用casbin进行权限管理——第三节 策略查询

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

30420
来自专栏星汉技术

HBase简介及搭建

45840
来自专栏禅林阆苑

利用NextCloud配置私有云 【原创】

利用NextCloud配置私有云 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github...

2.6K80

扫码关注云+社区

领取腾讯云代金券