Linux用户操作审计记录方案

多人共同使用的服务器权限确实不好管理,误操作等造成故障,无法追究,最好的办法就是将用户操作实时记录到日志,并推送到远程日志服务器上。包括(用户登陆时间,目录,操作命令及时间戳等)。以便事后追查。

环境:centos5.5 X86_64 2台              #备注:把两台主机的防火墙和selinux关闭。在进行操作。

(一)日志服务器IP:10.0.2.164

(二)客户端服务器IP:10.0.2.165

1.先在日志服务器10.0.2.164主机上操作:

[root@MySQL-B ~]# echo "*.info    /var/log/client" >> /etc/syslog.conf

#配置日志保存文件,把该文件第一行的*.info 提出来。单独放一行。

[root@MySQL-B ~]# service syslog restart                                #重启syslog日志服务。

Shutting down kernel logger: [  OK  ]

Shutting down system logger: [  OK  ]

Starting system logger: [  OK  ]

Starting kernel logger: [  OK  ]

[root@MySQL-B ~]# vim /etc/sysconfig/syslog                             #接收客户端写入。

把SYSLOGD_OPTIONS="-m 0"  更改为:SYSLOGD_OPTIONS="-m 1 -r"

2.然后在客户端服务器10.0.2.165主机上操作:

[root@MySQL-A ~]# vim /etc/profile                                      #添加如下行。

export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'

[root@MySQL-A ~]# source /etc/profile                                   #重新手动source更新。

2.1.客户机修改日志服务器10.0.2.165主机上操作:

[root@MySQL-A ~]# echo "10.0.2.164 logserver" >> /etc/hosts             #日志服务器地址。

[root@MySQL-A ~]# echo "*.info   @logserver" >> /etc/syslog.conf      

#将info日志推送到日志服务器,把该文件第一行的*.info 提出来。单独放一行。

[root@MySQL-A ~]# /etc/init.d/syslog restart                            #重启syslog日志。

Shutting down kernel logger: [  OK  ]

Shutting down system logger: [  OK  ]

Starting system logger: [  OK  ]

Starting kernel logger: [  OK  ]

3.测试,在客户端主机上10.0.2.165主机上测试并操作:                      

[root@MySQL-A ~]# test

[root@MySQL-A ~]# echo "this is a test 1"

this is a test 1

[root@MySQL-A ~]# echo "this is a test 2"

this is a test 2

[root@MySQL-A ~]# echo "this is a test 3"

this is a test 3

[root@MySQL-A ~]# echo "this is a test 4"

this is a test 4

[root@MySQL-A ~]# echo "this is a test 5"

this is a test 5

4.返回日志服务器10.0.2.164主机上看结果,是否记录下来客户端主机执行的操作?

[root@MySQL-B ~]# cat /var/log/client

Apr  6 10:37:55 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37 (10.0.2.188):[/root]echo "this is a test1"

Apr  6 10:37:59 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37 (10.0.2.188):[/root]echo "this is a test2"

Apr  6 10:38:01 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37 (10.0.2.188):[/root]echo "this is a test3"

Apr  6 10:38:04 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37 (10.0.2.188):[/root]echo "this is a test4"

Apr  6 10:38:06 10.0.2.165 root: [euid=root]:root pts/1 Apr 6 10:37 (10.0.2.188):[/root]echo "this is a test5"

#操作时间   #操作IP          #有效用户                     #实际登陆时间       #路径  #使用的命令

作者署名:51cto博客 IMySQL

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

时间: 2024-12-02 10:16:05

Linux用户操作审计记录方案的相关文章

Linux用户仍然无法完成的七项任务

作为一位Linux用户群体中的铁杆成员,我有时候不得不--虽然很不情愿--承认,使用 Mac OS X或者Windows确实能让我实现很多在Linux平台上根本无法完成的任务.这些任务无法达成跟Linux这款平台自身的局限性完全无关.这一问题同 时也困扰着软件开发人员与内容供应商们. 没你的份儿,Linux用户. 更新说明:2015年5月4日,第五张幻灯片内的参考内容Amazon Prime被移除.事实上,在安装额外插件之外.Amazon Prime已经能够正常运行在Linux环境当中. 我刚开

jsp 网站开发-JAVA WEB应用,一个操作只能同时有一个用户操作

问题描述 JAVA WEB应用,一个操作只能同时有一个用户操作 一个B/S系统,其中有个调用Linux脚本的操作,执行时间较长,要求系统只能同时有一个用户执行此操作,否则提示其他用户正在执行,请问下该如何实现呢? 解决方案 在該腳本開頭添加"ps -ef | grep 'yourshell'",返回監測結果,看是繼續執行,或是退出交回到java 解决方案二: 这个可以当启动linux脚本时写一个标识位到一个文件内.当其它用户再启动linux脚本时检测这个文件.是否存在即可. 解决方案三

linux字符操作界面基础学习

1.如何设置系统启动直接进入字符工作方式,则系统提供多个虚拟控制台,默认6个,使用Alt+F1到Alt+F6切换,图形界面可以按Ctrl+Alt+F1到Ctrl+Alt+F6切换到字符界面,Ctrl+Alt+F7可以切换回图形界面. 2.linux区分大小写,logout注销,为了安全,一般不要使用root登录,最好用普通用户登录,su切换到root用户操作特殊操作 3.ssh远程登录,linux必须开启OpenSSH,格式ssh 远程的用户名@ip地址或者FQDN,登录以后logout注销登录

linux字符操作界面基础

  1.如何设置系统启动直接进入字符工作方式,则系统提供多个虚拟控制台,默认6个,使用Alt+F1到Alt+F6切换,图形界面可以按Ctrl+Alt+F1到Ctrl+Alt+F6切换到字符界面,Ctrl+Alt+F7可以切换回图形界面. 2.linux区分大小写,logout注销,为了安全,一般不要使用root登录,最好用普通用户登录,su切换到root用户操作特殊操作 3.ssh远程登录,linux必须开启OpenSSH,格式ssh 远程的用户名@ip地址或者FQDN,登录以后logout注销

网站界面设计应该如何迎合用户操作习惯?

通 过对界面设计不同需求进行的分类以及界面设计元素对用户行为的影响,来研究用户在界面设计中所体现的重要性.交互性已经成为网络界面设计中设计追求的目 标.为了使设计满足可用性要求,全面的了解用户特征及多元化要求是十分必要的.这就需要找到正确的方法来记录和实现多元化的用户要求. 界面是人与物体互动的媒介,换句话说,界面就是设计师赋予物体的新面孔[1]. 一.界面设计的分类 (一)以功能实现为基础的界面设计. 交互设计界面最基本的性能是具有功能性与使用性,通过界面设计,让用户明白功能操作,并将作品本身

【Ubuntu】Linux系统( ubuntu )安装方案

[Ubuntu]Linux系统( ubuntu )安装方案  1.光驱安装 这种方法安装比较简便,但linux发行版升级频繁,市场上很难买到最新的版本,而且许多电脑并没有光驱.如果用这种方法安装,安装的过程和U盘安装是一样的. 2.USB安装 这种方法比较常用,现在装系统基本上都是用U盘安装,这里的安装指的是物理机安装.这需要系统的安装镜像及专业软件,电脑要能支持USB启动. <ubuntu物理机安装方法:U盘安装>有相关说明,请点击此处. 3.使用镜像从硬盘安装 下载镜像到硬盘,利用logi

【Linux】Linux用户、用户组、文件权限学习笔记

原文地址:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html 作者:HaiHai 发布时间:August 12, 2010 分类:综合技术 最近打算更仔细学习一下linux操作系统.先是恶补了一下用户.用户组.文件权限这三样比较重要的知识. 学习这几样东西,得先掌握linux的权限系统相关知识. linux的权限系统主要是由用户.用户组和权限组成. 用户就是一个个的登录并使用linux的用户.linux内

Linux用户态和内核态

转载 - Linux用户态和内核态 作者 digoal 日期 2016-11-20 标签 Linux , 内核态 , 用户态 背景 原文 http://longmans1985.blog.163.com/blog/static/7060547520109262178736/ 原文 1. 用户态和内核态的概念区别 究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个

对中级Linux用户有用的20个命令

命令: Find 搜索指定目录下的文件,从开始于父目录,然后搜索子目录. 注意: -name'选项是搜索大小写敏感.可以使用-iname'选项,这样在搜索中可以忽略大小写.(*是通配符,可以搜索所有的文件:'.sh'你可以使用文件名或者文件名的一部分来制定输出结果) 注意:以上命令查找根目录下和所有文件夹以及加载的设备的子目录下的所有包含'tar.gz'的文件. 'find'命令的更详细信息请参考35 Find Command Examples in Linux 2. 命令: grep 'gre