文档章节

简易审计系统

芬野de博客
 芬野de博客
发布于 10/20 12:32
字数 1030
阅读 8
收藏 0

1、有时候我们需要对线上用户的操作进行记录,可以进行追踪,出现问题追究责任,但是linux自带的history并不会实时的记录(仅仅在内存中,当用户正常退出(exit logout )时才会记录到history文件里),并且还有1000行的限制可以删除的;

为了保证让用户的操作进行实时记录;可以做一个简易的审计系统;审计用户的操作历史;

1:首先创建一个目录,这个目录是用来记录所有用户的操作历史的

[root@localhost_001 ~]# mkdir -p /usr/local/domob/records/

2:然后给目录777权限;(让任何用户都可以写入文件);

[root@localhost_001 ~]# chmod 777 /usr/local/domob/records/

3:还有给目录加上 t 权限;普通用户之间无法互相删除;

[root@localhost_001 ~]# chmod o+t /usr/local/domob/records/

4:在/etc/profile里添加如下内容;并执行立即生效命令:  source   /etc/profile

[root@localhost_001 ~]# vim /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@localhost_001 ~]# source /etc/profile

详细步骤

[root@localhost_001 ~]# mkdir -p /usr/local/domob/records/
[root@localhost_001 ~]# chmod 777 /usr/local/domob/records/
[root@localhost_001 ~]# chmod o+t /usr/local/domob/records/
[root@localhost_001 ~]# vim /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@localhost_001 ~]# source /etc/profile

2、然后在linux下root用户运行一些命令,然后去查看命令历史;

[root@localhost_001 ~]# cd
[root@localhost_001 ~]# pwd
/root
[root@localhost_001 ~]# ls
anaconda-ks.cfg  CentOS7-Base-163.repo  test
authorized_keys  link                   test.txt
[root@localhost_001 ~]# cd /etc/sysconfig/network-scripts/
[root@localhost_001 network-scripts]# cd

3、然后去存放命令的目录下查看: /usr/local/domob/records/username

[root@localhost_001 ~]# cat /usr/local/domob/records/root/bash_history 
2018-10-20 12:11:17 ##### root pts/0 (192.168.149.135) #### source /etc/profile
2018-10-20 12:11:20 ##### root pts/0 (192.168.149.135) #### cd
2018-10-20 12:11:21 ##### root pts/0 (192.168.149.135) #### pwd
2018-10-20 12:11:21 ##### root pts/0 (192.168.149.135) #### ls
2018-10-20 12:11:27 ##### root pts/0 (192.168.149.135) #### cd /etc/sysconfig/network-scripts/
2018-10-20 12:11:27 ##### root pts/0 (192.168.149.135) #### cd

4、我们切换到普通用户随意执行一些命令,然后查看是否会记录;

[root@localhost_001 ~]# su - fenye
上一次登录:四 10月 18 22:35:24 CST 2018pts/0 上
[fenye@localhost_001 etc]$ cd
[fenye@localhost_001 ~]$ pwd
/home/fenye
[fenye@localhost_001 ~]$ cd
[fenye@localhost_001 ~]$ ksjd;lsdjf
-bash: ksjd: 未找到命令
-bash: lsdjf: 未找到命令
[fenye@localhost_001 ~]$ 
[fenye@localhost_001 ~]$ cd /etc/
[fenye@localhost_001 etc]$ cd
[fenye@localhost_001 ~]$ ls
[fenye@localhost_001 ~]$ klsd;ksjfksf
-bash: klsd: 未找到命令
-bash: ksjfksf: 未找到命令

注释:查看/usr/local/domob/relcords已记录,但是无法打开,因为普通用户只有写入的权限;

[fenye@localhost_001 ~]$ cd /usr/local/domob/records/
fenye/ root/  
[fenye@localhost_001 ~]$ cd /usr/local/domob/records/fenye/
[fenye@localhost_001 fenye]$ ls
ls: 无法打开目录.: 权限不够

切换至root用户,查看其用户的历史命令是否有记录;有记录;

[fenye@localhost_001 fenye]$ exit
登出
[root@localhost_001 ~]# cat /usr/local/domob/records/
fenye/ root/  
[root@localhost_001 ~]# cat /usr/local/domob/records/fenye/bash_history 
2018-10-20 12:17:52 ##### root pts/0 (192.168.149.135) #### 
2018-10-20 12:17:54 ##### root pts/0 (192.168.149.135) #### ls
2018-10-20 12:17:55 ##### root pts/0 (192.168.149.135) #### klsjdkfs
2018-10-20 12:17:56 ##### root pts/0 (192.168.149.135) #### jsjfkls
2018-10-20 12:17:57 ##### root pts/0 (192.168.149.135) #### ls
2018-10-20 12:17:58 ##### root pts/0 (192.168.149.135) #### pwd
2018-10-20 12:17:58 ##### root pts/0 (192.168.149.135) #### cd
2018-10-20 12:18:01 ##### root pts/0 (192.168.149.135) #### cd /etc/
2018-10-20 12:18:02 ##### root pts/0 (192.168.149.135) #### ls
2018-10-20 12:18:04 ##### root pts/0 (192.168.149.135) #### cd
2018-10-20 12:18:09 ##### root pts/0 (192.168.149.135) #### pwd
2018-10-20 12:18:10 ##### root pts/0 (192.168.149.135) #### cd

 

© 著作权归作者所有

共有 人打赏支持
芬野de博客
粉丝 10
博文 106
码字总数 186097
作品 0
海淀
程序员
私信 提问
MessageSolution:轻松邮件归档——《网络运维与管理》问答

1)在目前云计算、大数据、移动互联的现状下,企业用户在信息化建设(安全、网络、IT运维、容灾备份、流量管理)中主要面临哪些问题和挑战? 以邮件数据为例,数据量大很常见的情况有两种,一是...

messagesolution
06/26
0
0
管道符和作业控制 shell变量

管道符和作业控制 管道“| ”就是将前面命令输出作为管道后面命令的输入 [root@localhost a]# touch 1.txt[root@localhost a]# ls1.txt[root@localhost a]# cat 1.txt | wc -l0[root@localh...

WiFi362227
2017/11/16
0
0
五周第四次课(1月11日)​

五周第四次课(1月11日) 8.6 管道符和作业控制 |表示把前面命令输出结果传递到后面命令 ctrl z 暂停,调到后台 fg 继续,调到前台 jobs fg 2 bg 2 2调到后台并运行 sleep 1000 暂停1000s s...

大道争锋
01/11
0
0
21.管道符,shell变量,环境变量配置文件

五周第四次课(1月11日) 8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 扩展 bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719 简易审计系统: http://w...

Xavi2017
01/14
0
0
TurboMail邮件系统再次通过涉密软件认证

近日,TurboMail邮件服务器系统再次通过了国家保密科技测评中心的涉密软件产品检测,满足国家保密标准《涉及国家秘密的应用系统安全技术要求》(暂行)的要求,继续拥有为有涉密要求的政府机...

月亮湖泊
2016/03/21
17
0

没有更多内容

加载失败,请刷新页面

加载更多

安卓的切图规范

Android UI 切图命名规范、标注规范及单位描述 很多UI设计师做APP切图都会有两套,一套是Android的,一套是IOS的。IOS我这边暂不作讲解,因为我本人也不是开发IOS。这里整理一下我在Android...

mo311
30分钟前
2
0
深度剖析阿里巴巴对Flink的优化与改进

摘要: 作者 | 阿里巴巴实时计算团队 导读:随着人工智能时代的降临,数据量的爆发,阿里巴巴的商品数据处理就经常需要面对增量和全量两套不同的业务流程问题,所以阿里巴巴就在想:能不能有...

阿里云官方博客
31分钟前
2
0
Dubbo基础介绍

Dubbo是一个常用的分布式服务框架, 它致力于提供高性能、透明化的RPC远程服务方案。 学习Dubbo有助于提高企业级应用的开发效率,以及可通过简单的配置就可以实现负载均衡,提高服务的效率。...

Java搬砖工程师
42分钟前
4
0
VBS 自动登陆

1.关于网页元素属性 IE浏览器打开网页时,有很多元素,比如说一个文本框,一个按键等。每个元素都会有对应的“name”、“ID”,“style”,“class”等属性。 其中的“ID”和“name”属性是我...

宝贝女儿
47分钟前
1
0
GO 文件相关操作

package mainimport("fmt""os""bufio""io""io/ioutil")type ChartCount struct{Chct intSpacect intNumberct intOtherct int}func main() {file,err := os.Open......

汤汤圆圆
48分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部