一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整;所以误操作而造成重要的数据丢失,就很难查到是谁操作的。
 
在这里我们通过脚本代码来实现记录所以用户的登录操作日志:
 
编辑/etc/profile文件,在文件末尾加入下面代码:
[root@telecom225 /]# vi /etc/profile

history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null

注释: /var/log/history这是记录日志的存放位置,可以自定义。
 
在/var/log/history下会以每个用户为名新建一个文件夹,
[root@telecom225 /]# cd /var/log/history/

[root@telecom225 history]# ll
total 20
d-wx------ 2 test dennishan 4096 Jul 4 12:06 test
d-wx------ 2 jerryhe jerryhe 4096 Jul 4 14:12 jerryhe

每次用户退出后都会产生以用户名、登录IP、时间的文件,里面包含此用户本次的所以操作

[root@telecom225 history]# cd jerryhe/
[root@telecom225 jerryhe]# ls
jerryhe@180.173.188.252_20130626_14:59:51
jerryhe@180.173.188.252_20130628_14:40:26
jerryhe@180.173.188.252_20130703_09:44:21
jerryhe@180.173.188.252_20130703_11:18:40
jerryhe@180.173.188.252_20130703_11:21:11
jerryhe@180.173.188.252_20130703_14:21:49
jerryhe@180.173.188.252_20130703_14:30:48
jerryhe@180.173.188.252_20130704_13:37:19

在Linux下记录所有用户的登录和操作日志相关推荐

  1. linux 查看用户操作日志,Linux下记录所有用户的登录和操作日志

    一般我们可以用history命令来查看用户的操作记录,但是这个命令不能记录是哪个用户登录操作的,也不能记录详细的操作时间,且不完整:所以误操作而造成重要的数据丢失,就很难查到是谁操作的. 在这里我们通 ...

  2. Linux下记录所有用户操作的脚本

    这个脚本是在网上找到的,稍微做了一些修改,可以实现在Linux下所有用户,不管是远程还是本地登陆,在本机的所有操作都会记录下来,并生成包含"用户/IP/时间"的文件存放在指定位置, ...

  3. linux查看命令操作痕迹,Linux下记录所有用户的操作命令,以方便后期审计

    运维与研发人员一多,登录服务器操作的情况越来越常见,为了安全,有必要对登录系统的每次操作都进行记录,以方便后期了解,掌握,审计. 简单解决办法: 修改/etc/profile文件,在最后增加如下内容: ...

  4. Linux下如何实现用户的集中管理(NIS服务器的高级配置)

    Linux下如何实现用户的集中管理 (NIS服务器的高级配置)   一.NIS服务器的属性设置   1.修改NIS系统的主机名 Linux系统可以使用hostname命令查看和临时设置Linux系统的 ...

  5. linux下查看所有用户及所有用户组

    linux下查看所有用户及所有用户组 groups 查看当前登录用户的组内成员 groups xxx查看xxx用户所在的组,以及组内成员 whoami 查看当前登录用户名 /etc/group文件包含 ...

  6. linux 下如何添加用户、权限

    linux 下如何添加用户.权限 转载点击访问 useradd –d /usr/sam -m sam 此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/ ...

  7. linux 下如何修改mysql授权,linux下mysql添加用户、删除用户、授权、修改密码

    摘要 腾兴网为您分享:linux下mysql添加用户.删除用户.授权.修改密码,之了课堂,云闪付,英语字典,易信等软件知识,以及pr安卓,彩绘大师,微软应用商店,广告屏蔽管家,pandahelper, ...

  8. linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解

    本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...

  9. linux装软件需要root用户,Linux下非root用户安装软件的一般流程:

    1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar -zxvf xxx.tar.gz即可 3. 切换到解压后的目录, ...

最新文章

  1. redis php 持久化,详解Redis RDB持久化、AOF持久化,
  2. SQL笛卡尔积结合前后行数据的统计案例
  3. Hello, World!的大小
  4. php中的$_get参数带分号,PHP中GET传参,各参数之间使用分号(;)符号进行分隔。...
  5. 后缀的形容词_巧记形容词后缀 第二弹
  6. php 页面缓存的做法,使用php进行页面缓存
  7. 关于发那科机器人弧焊指令故障处理
  8. freeradius mysql nas_freeradius+mysql+交换机认证
  9. Linux之文件通配符
  10. python求斜边上的高_直角三角形斜边上的高如何求?
  11. 网络爬虫-re库-正则表达式
  12. 利用计算机进行导弹轨道计算,超级计算机为何被称为大国重器?可模拟核试验或测算弹道导弹轨迹!...
  13. Ubuntu应用推荐大全
  14. redis开启rdb和aof后文件正确恢复
  15. 【区块链开发指南】区块链基础之区块和交易
  16. Zhong__Python math
  17. VT-x/AMD-V 硬件加速在您的系统中不可用。您的 64-位虚拟机将无法检测到 64-位处理器,从而无法启动。
  18. Microsoft OLE DB Provider for ODBC Drivers (0x80004005) 操作必须使用一个可更新的查询”错误的解决办法
  19. RIME小狼毫自用配置
  20. 谈谈我对电商交易系统的理解

热门文章

  1. centos系统所需软件
  2. cnn_mnist_案例详解
  3. mysql5.2 软件园_MySQL Server V5.5 官方安装版
  4. 爬虫404如何跳过_网站改版之后的一次思考:网站改版会让网站受伤?我们如何让他不降反升...
  5. python map reduce filter_Python map, reduce, filter和sorted
  6. LeetCode:63. 不同路径 II
  7. Eclipse配置的tomcat用debug模式启动不了start可以启动
  8. jquery ajax的post、get方式
  9. hexo+git维护笔记
  10. 笔记-高项案例题-2017年下-计算题