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

mkdir -p /var/log/userlogin/records/
chmod 777 /var/log/userlogin/records/
chmod +t /var/log/userlogin/records/

2.vim /etc/profile 在最后添加下面的代码

if [ ! -d  /var/log/userlogin/records/${LOGNAME} ]
then
mkdir -p /var/log/userlogin/records/${LOGNAME}
chmod 300 /var/log/userlogin/records/${LOGNAME}
fiexport HISTORY_FILE="/var/log/userlogin/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'
source /etc/profile

3.测试验证

[root@master01 local]# source /etc/profile
[root@master01 local]# cd /var/log/userlogin/records/
[root@master01 records]# ls
root
[root@master01 records]# cd root/
[root@master01 root]# ls
bash_history
[root@master01 root]# cat bash_history
2018-06-04 03:41:30 ##### root pts/0 (10.0.0.1) #### source /etc/profile
2018-06-04 03:41:40 ##### root pts/0 (10.0.0.1) #### cd /var/log/userlogin/records/
2018-06-04 03:41:41 ##### root pts/0 (10.0.0.1) #### ls
2018-06-04 03:41:43 ##### root pts/0 (10.0.0.1) #### cd root/
2018-06-04 03:41:43 ##### root pts/0 (10.0.0.1) #### ls
[root@master01 root]# su - postgres
[postgres@master01 ~]$ echo 12345 >>test001
[postgres@master01 ~]$ ls
pg_dump.sh  test001
[postgres@master01 ~]$ cat test001
12345
[postgres@master01 ~]$ logout
[root@master01 root]# pwd
/var/log/userlogin/records/root
[root@master01 records]# ls
postgres  root
[root@master01 records]# cd postgres/
[root@master01 postgres]# ls
bash_history
[root@master01 postgres]# cat bash_history
2018-06-04 03:42:17 ##### root pts/0 (10.0.0.1) #### cd ..
2018-06-04 03:42:18 ##### root pts/0 (10.0.0.1) #### ls
2018-06-04 03:42:29 ##### root pts/0 (10.0.0.1) #### echo 12345 >>test001
2018-06-04 03:42:31 ##### root pts/0 (10.0.0.1) #### ls
2018-06-04 03:42:36 ##### root pts/0 (10.0.0.1) #### cat test001

转载于:https://blog.51cto.com/wujianwei/2124267

Centos系统添加系统用户操作记录审计相关推荐

  1. Win11系统添加新用户的方法

    Windows11系统是现在非常火热的电脑操作系统,现在已经有不少小伙伴都安装了Win11系统进行体验,默认情况下是使用Microsoft账户,有的用户不喜欢Microsoft账户想创建一个新的本地账 ...

  2. win10创建新的计算机用户名和密码,技术员教你解决win10系统添加新用户的图文步骤...

    朋友们在使用电脑工作的过程中会碰到win10系统添加新用户的情况,有时突然遇到win10系统添加新用户的问题就不知道该怎么办了,我就给大家整理总结了win10系统添加新用户的解决方法,解决起来也不难, ...

  3. del服务器如何收系统日志,利用Rsyslog集中收集系统日志和用户操作记录以及相关处理方法...

    相信从事linux服务器运维的筒子们都和我一样,每天都在和各种系统日志.服务日志打交道.这些日志记录了系统或服务每天发生的各种状态.通过观察日志我们可以及时的解决掉很多系统和服务故障. 今天主要写的是 ...

  4. Centos 系统添加/删除用户和用户组

    在centos中增加用户使用adduser命令而创建用户组使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下面来给各位介绍一下吧. 1.建用户 adduse ...

  5. centos7下php设置用户和组,centos系统添加/删除用户和用户组的例子

    在centos中增加用户adduser而创建用户组我们使用groupadd命令,这个是不是非常的方便呀,其实复杂点的就是用户的组与组权限的命令了,下面来给各位介绍一下吧. 1.建用户: adduser ...

  6. 机房收费系统——添加删除用户窗体

    添加删除用户这个窗口看起来并不是太难,但是还是有一些细节需要注意的. 首先,要设置myflexgrid控件的属性,因为我们删除用户时要求选中一整条记录,而不是单个一个,这就要用到下面的代码: myfl ...

  7. 手动为linux系统添加新用户——过程详解

    linux下添加新用户的背后 一般来讲,添加用户时常使用"useradd "命令,系统即可默认添加用户并设置UID,GID等信息,其实这背后都是可以通过手动修改系统文件实现的. 我 ...

  8. suse linux添加用户,手动为linux系统添加新用户——过程详解

    linux下添加新用户的背后 一般来讲,添加用户时常使用"useradd "命令,系统即可默认添加用户并设置UID,GID等信息,其实这背后都是可以通过手动修改系统文件实现的. 我 ...

  9. Linux 查看用户操作记录

    使用history命令,查看自己的操作记录,但如果你是root用户,如何查看其它用户的操作记录呢?   其实history命令只是把当前用户目录下的~/.bash_History文件内容列出来而已. ...

最新文章

  1. 用户行为分析笔记(一):概述
  2. XML教程和SVG可伸缩矢量图形 (Scalable Vector Graphics)教程
  3. PhotoshopCS6-视觉特效插画技法-1-什么是视觉特效(1)
  4. 17.观察者模式(Observer Pattern)
  5. Java Maven Profiles多环境一键部署
  6. netty9---使用编码解码器
  7. 吴恩达深度学习1.3练习_Neural Networks and Deep Learning
  8. layui的tree实现 struts 2+layui+jsp
  9. 鸿蒙大陆6.1正式版 密码,天寒大陆1.06下载 天寒大陆1.06正式版 附游戏攻略及隐藏英雄密码 魔兽防守地图 下载-脚本之家...
  10. 三种方式让 Android WebView 支持文件下载
  11. 最新可用的电脑开机密码查看工具
  12. 计算机如何把文件设为隐藏,电脑如何显示隐藏的文件夹 电脑怎么设置隐藏文件夹...
  13. 指纹识别-(1)基本知识
  14. Mysql之MyISAM存储引擎
  15. 【密码算法 之七】GCM 浅析
  16. FreeBSD install
  17. 2021.icpc网络赛第二场
  18. 「溪数科技」获逾5千万天使轮融资,开启智能运维加速模式!
  19. Attention机制的总结笔记
  20. ANSYS Workbench接触设置—对称和非对称接触

热门文章

  1. python字典类型可迭代_核心数据类型--字典
  2. mysql强制指定索引_mysql强制索引和禁止某个索引
  3. sap 标准委外和工序委外_SAP那些事-实战篇-74-公司间委外的几种方式探讨
  4. Invalid Gradle JDK configuration found_build.gradle里dependencies标签页的实现原理
  5. php7 jpgraph,JpGraph4.0.2中文乱码以及在php7.0版本无法显示的解决办法
  6. 20190825:(leetcode习题)最长公共前缀
  7. 卷积滤波 英文_图像处理必备英文词汇
  8. DOS批处理删除文本文件重复的行
  9. 不劳烦苹果了!现在,FBI让嫌疑人抬头刷脸就能解锁iPhone
  10. 马云老师给AI留了几句话