专栏首页Linux系统Linux 统一记录和查看登录和操作日志
原创

Linux 统一记录和查看登录和操作日志

前提:在linux系统的环境下,不管是root用户还是其它的用户只有登陆系统后用进入操作我们都可以通过命令history来查看历史记录,可是假如一台服务器多人登陆,一天因为某人误操作了删除了重要的数据。这时候通过查看历史记录(命令:history)是没有什么意义了(因为history只针对登录用户下执行有效,即使root用户也无法得到其它用户histotry历史)。那有没有什么办法实现通过记录登陆后的IP地址和某用户名所操作的历史记录呢?

答案:有的。

通过在/etc/profile里面加入以下代码就可以实现:

PS1="`whoami`@`hostname`:"'[$PWD]'

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 /tmp/dbasky ]

then

mkdir /tmp/dbasky

chmod 777 /tmp/dbasky

fi

if [ ! -d /tmp/dbasky/${LOGNAME} ]

then

mkdir /tmp/dbasky/${LOGNAME}

chmod 300 /tmp/dbasky/${LOGNAME}

fi

export HISTSIZE=4096

DT=`date "+%Y-%m-%d_%H:%M:%S"`

export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"

chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/null

保存退出后,使用source /etc/profile 使用脚本生效

脚本在系统的/tmp新建个dbasky目录,记录所有登陆过系统的用户和IP地址(文件名),每当用户登录/退出会创建相应的文件,该文件保存这段用户登录时期内操作历史,可以用这个方法来监测系统的安全性。

原创声明,本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

登录 后参与评论
0 条评论

相关文章

  • Centos记录所有用户登录和操作的详细日志

    最近 Linux服务器上一些文件呗篡改,想追查已经查不到记录了,所以得想个办法记录下所有用户的操作记录。

    用户8965210
  • Linux查看进程,服务和相关操作【Linux】

    占用cpu最多的10个进程:ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    sinnoo
  • 如何在ABAP Netweaver和CloudFoundry里记录并查看日志

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • (转)MySql中监视增删改查和查看日志记录

    转载地址为:http://blog.51cto.com/hades02/1641652 

    ryzenWzd
  • 如何在ABAP Netweaver和CloudFoundry里记录并查看日志

    要记录日志需要有一个checkpoint group,可以自行创建也可以使用标准的。这里我重用标准的group:DEMO_CHECKPOINT_GROUP。

    Jerry Wang
  • ASP.NET Core应用中如何记录和查看日志

    日志记录不仅对于我们开发的应用,还是对于ASP.NET Core框架功能都是一项非常重要的功能特性。我们知道ASP.NET Core使用的是一个极具扩展性的日志...

    蒋金楠
  • Linux查看文件和日志的常用命令

    当项目部署和运行起来后,会产生很多的运行日志。日志的内容是程序里定义的重要输出信息,还有程序出错的报错信息。

    Python碎片公众号
  • Linux之开机、重启和用户登录注销等操作

    兮动人
  • Centos7系统下修改主机名、清理linux日志和操作记录 - 运维笔记

    一、修改主机名 习惯了在Centos6系统下修改主机名的操作,但是Centos7下修改主机名的操作却大不相同!操作笔记如下:

    洗尽了浮华
  • linux操作系统中的netstat命令查看端口状态的使用和window操作系统查看端口号

    1:linux操作系统 netstat 命令用于显示各种网络相关信息,即网络状态。而我主要使用netstat查看端口号是否启动; 参数详情: 1 -a (all...

    别先生
  • linux学习第四十五篇:Nginx访问日志,Nginx日志切割,静态文件不记录日志和过期时间

    Nginx访问日志 日志格式 vim /usr/local/nginx/conf/nginx.conf //搜索log_format 下图中就是Ngin...

    用户1215343
  • Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作

    直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令。

    学到老
  • Linux操作系统安装ELK stack日志管理系统--(1)Logstash和Filebeat的安装与使用

    (1)ELK是Elasticsearch,Logstash,Kibana 开源软件的集合,对外是作为一个日志管理系统的开源方案。它可以从任何来源,任何格式进行日...

    Java后端技术
  • 10.34 linux系统日志

    linux系统日志 /var/log/messages //是linux系统一个总的日志——>除非某些服务,有定义单独的日志 /etc/logro...

    运维小白
  • Linux系统安全 | Linux日志分析和管理

    日志的作用、分类、管理、轮转和级别 日志的作用: 用于记录系统、程序运行中发生的各种事件 通过阅读日志,有助于诊断,解决系统故障 日志文件的分类: 内核及系...

    谢公子
  • Linux 文件系统与日志分析「建议收藏」

      Linux,全称 GNU/Linux,是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 的多用户、多任务、支持多线程和多 CPU 的...

    全栈程序员站长
  • [ffffffff0x] 蓝队视角下Linux信息收集

    上一篇 红队视角下Linux信息收集 我们谈到红队是以提权和后渗透为主要目的而进行的信息收集,本次谈一谈在蓝队应急响应中Linux系统下比较关键的内容。

    r0fus0d
  • 运维工程师必备Linux常见安全策略与实践

    操作系统的安全问题是信息安全领域最重要和最基本的问题之一。随着近几年国内互联网技术和行业的迅猛发展,采用Linux网络操作系统作为服务器的用户也越来越多。Lin...

    小小科

扫码关注腾讯云开发者

领取腾讯云代金券