linux下监控用户的操作记录-new

合集下载

Linux服务器记录并查询历史操作记录

Linux服务器记录并查询历史操作记录

Linux服务器记录并查询历史操作记录Linux服务器在使⽤过程中,经常会有除⾃⼰之外的其他⼈员使⽤。

并不是每个⼈都对Linux服务器特别熟悉,难免会有⼀些操作导致服务器报错。

因此,监控Linux服务器的操作并记录下来,是⾮常有必要的!history是查询当前连接所操作的命令,通过编写以下内容添加⾄/etc/profile的原有内容之后,将每个连接的操作都进⾏记录,并保存在特定位置。

vi /etc/profile添加内容如下:#history recordhistoryRQ=`date "+%Y%m%d"`USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/record ]thenmkdir /tmp/recordchmod 777 /tmp/recordfiif [ ! -d /tmp/record/${LOGNAME}/${RQ} ]thenmkdir -p /tmp/record/${LOGNAME}/${RQ}chmod 300 /tmp/record/${LOGNAME}/${RQ}fiexport HISTSIZE=8192SJ=`date "+%H:%M:%S"`export HISTFILE="/tmp/record/${LOGNAME}/${RQ}/${USER_IP}@${LOGNAME}.$SJ"chmod 600 /tmp/record/${LOGNAME}/*record* 2>/dev/null然后保存并退出,执⾏以下命令,使得编写的配置⽣效。

linux操作系统监控工具

linux操作系统监控工具

linux操作系统监控工具监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。

你要确保用户始终可以打开你的网站并且网速不慢。

服务器监控工具允许你收集和分析有关你的Web服务器的数据。

这里店铺就与大家谈谈Linux操作票撒谎那个面都有一些什么样的系统监控工具。

linux操作系统监控工具一、基于命令行的性能监控工具1.dstat - 多类型资源统计工具该命令整合了vmstat,iostat和ifstat三种命令。

同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。

通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。

它也支持将信息数据导出到cvs 格式文件中,从而用其他应用程序打开,或者导入到数据库中。

你可以用该命令来监控cpu,内存和网络状态随着时间的变化。

2.atop - 相比top更好的ASCII码体验这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。

它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。

它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。

所有这些功能只需在终端运行atop即可。

# atop当然你也可以使用交互界面来显示数据并进行排序。

3.Nmon - 类Unix系统的性能监控Nmon是Nigel's Monitor缩写,它最早开发用来作为AIX的系统监控工具。

如果使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。

使用捕捉模式能够将数据保存为CSV格式,方便进一步的处理和图形化展示。

更多的信息参考我们的nmon性能监控文章。

4.slabtop - 显示内核slab缓存信息这个应用能够显示缓存分配器是如何管理Linux内核中缓存的不同类型的对象。

这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。

它能够显示按照不同排序条件来排序显示缓存列表。

linux命令查看用户信息的方法

linux命令查看用户信息的方法

linux命令查看用户信息的方法1. 查看当前登录用户信息使用命令"whoami"可以查看当前登录用户的用户名。

该命令会直接输出当前登录用户的用户名,不需要任何参数。

2. 查看所有用户信息使用命令"cat /etc/passwd"可以查看所有用户的信息。

该命令会打开/etc/passwd文件,并将其中的内容输出到终端。

每个用户的信息占一行,各个字段使用冒号分隔。

3. 查看指定用户信息使用命令"finger 用户名"可以查看指定用户的信息。

该命令会显示指定用户的用户名、真实姓名、终端、登录时间、登录IP等详细信息。

如果没有指定用户名,则会显示所有用户的信息。

4. 查看用户ID使用命令"id 用户名"可以查看指定用户的用户ID。

该命令会输出指定用户的用户ID、所属用户组ID以及附加的用户组ID。

5. 查看用户所属用户组使用命令"id -g 用户名"可以查看指定用户所属的主要用户组ID。

该命令会输出指定用户的主要用户组ID。

6. 查看用户家目录使用命令"grep 用户名 /etc/passwd | cut -d: -f6"可以查看指定用户的家目录。

该命令会从/etc/passwd文件中查找指定用户的信息,并使用冒号作为分隔符,提取出家目录字段。

7. 查看用户默认Shell使用命令"grep 用户名 /etc/passwd | cut -d: -f7"可以查看指定用户的默认Shell。

该命令会从/etc/passwd文件中查找指定用户的信息,并使用冒号作为分隔符,提取出默认Shell字段。

8. 查看用户登录历史使用命令"last 用户名"可以查看指定用户的登录历史。

该命令会显示指定用户最近的登录记录,包括登录时间、登录IP、登录终端等信息。

9. 查看用户当前登录状态使用命令"who"可以查看当前登录系统的用户信息。

linux的last用法

linux的last用法

Linux的last命令用于显示近期用户或终端的登录情况,其使用权限是所有用户。

通过last命令,管理员可以获知谁曾经或企图连接系统。

具体使用方法如下:
1.显示所有用户的登录记录:
2.显示特定用户的登录记录:
3.显示最近的N条登录记录:
4.显示登录记录的详细信息:
通过使用“-f”选项,可以指定读取的日志文件,从而查看更详细的登录信息。

此外,last命令还有许多其他参数,例如-R(省略hostname栏位)、-n(指定输出
记录的条数)、-t(只显示指定的虚拟控制台上的登录情况)、-h(只显示指定的节点上的登录情况)等。

除了查看登录记录,last命令还有助于管理员监控用户的活动,特别是对于敏感操作和关键账户的审计。

通过检查登录记录,可以及时发现异常活动并采取相应措施。

此外,对于安全审计需求,last命令是一项重要的工具,可以记录用户的登录和注销信息,并提供详细的时间戳和登录来源,有助于分析和跟踪用户的活动轨迹。

linux audit 例子

linux audit 例子

linux audit 例子Linux Audit是一种用于记录系统事件的安全审计工具。

它可以跟踪并记录与系统安全相关的事件,例如用户登录、文件访问、系统调用、系统配置更改等。

在这篇文章中,我们将探讨一些Linux Audit 的实际应用例子。

首先,让我们看一个简单的例子。

假设我在一个多用户的Linux 系统上进行管理,我想要监控用户登录活动。

我可以使用Linux Audit 来审计登录事件并记录下来。

为了实现这一点,我需要编辑Audit规则配置文件`/etc/audit/rules.d/login.rules`,并添加以下规则:```-w /var/log/lastlog -p wa -k login```上述规则中,“-w”用于监控文件`/var/log/lastlog`的写入操作,“-p wa”表示监控写操作和属性更改,“-k login”表示将审计事件与登录相关的关键字“login”关联起来。

一旦有用户登录系统并写入了`/var/log/lastlog`文件,Linux Audit将记录这一事件。

此外,我们还可以使用Linux Audit来监控敏感文件的访问。

例如,我想要监控`/etc/passwd`文件的读取操作。

为了实现这一点,我需要编辑Audit规则配置文件`/etc/audit/rules.d/passwd.rules`,并添加以下规则:```-w /etc/passwd -p r -k passwd```上述规则中,“-w”用于监控文件`/etc/passwd`的读取操作,“-p r”表示监控读操作,“-k passwd”表示将审计事件与密码文件相关的关键字“passwd”关联起来。

一旦有用户读取了`/etc/passwd`文件,Linux Audit将记录这一事件。

除了文件访问审计,我们还可以使用Linux Audit来跟踪系统调用。

例如,我想要监控系统中的所有fork()系统调用,我可以编辑Audit规则配置文件`/etc/audit/rules.d/fork.rules`,并添加以下规则:```-a always,exit -F arch=b64 -S fork -k fork```上述规则中,“-a always,exi t”表示监控所有退出的系统调用,“-F arch=b64”表示监控64位系统调用,“-S fork”表示监控fork()系统调用,“-k fork”表示将审计事件与fork相关的关键字“fork”关联起来。

Linux命令行下的系统日志和错误查看技巧

Linux命令行下的系统日志和错误查看技巧

Linux命令行下的系统日志和错误查看技巧在Linux命令行下,系统日志和错误查看是系统管理员和开发人员必备的技能之一。

系统日志记录了系统运行过程中的各种事件和错误信息,通过查看系统日志,可以追踪问题并解决系统故障。

本文将介绍一些常用的Linux命令行下的系统日志和错误查看技巧。

一、查看系统日志1. 查看系统日志文件Linux系统将系统日志保存在/var/log目录下的不同文件中。

常用的系统日志文件有:- /var/log/syslog:包含系统的整体运行状态和各个服务的日志信息。

- /var/log/messages:包含系统的整体状态信息和各种服务的消息。

- /var/log/auth.log:包含与系统身份验证和安全相关的日志信息。

- /var/log/kern.log:包含与内核相关的日志信息。

- /var/log/boot.log:包含系统启动过程的日志信息。

可以使用以下命令查看系统日志文件的内容:```tail /var/log/syslogtail /var/log/messagestail /var/log/auth.logtail /var/log/kern.logtail /var/log/boot.log```2. 实时查看系统日志如果需要实时查看系统日志的更新信息,可以使用以下命令:```tail -f /var/log/syslogtail -f /var/log/messagestail -f /var/log/auth.logtail -f /var/log/kern.logtail -f /var/log/boot.log```这样,当有新的日志信息写入日志文件时,命令行界面会即时显示出来。

二、查看错误日志在Linux系统中,错误日志保存在各个应用程序的日志文件中。

不同的应用程序有不同的错误日志文件。

以下是一些常见的错误日志文件及其使用方法:1. Apache错误日志Apache的错误日志文件一般位于/var/log/apache2/error.log或者/var/log/httpd/error.log,可以使用以下命令查看:```tail /var/log/apache2/error.logtail /var/log/httpd/error.log```2. MySQL错误日志MySQL的错误日志文件一般位于/var/log/mysql/error.log,可以使用以下命令查看:```tail /var/log/mysql/error.log```3. SSH错误日志SSH的错误日志文件一般位于/var/log/auth.log,可以使用以下命令查看:```tail /var/log/auth.log```4. Nginx错误日志Nginx的错误日志文件一般位于/var/log/nginx/error.log,可以使用以下命令查看:```tail /var/log/nginx/error.log```三、使用过滤器查找关键字在系统日志和错误日志中,常常需要查找包含特定关键字的日志信息。

Linux下系统如何监控服务器硬件、操作系统、应用服务和业务

Linux下系统如何监控服务器硬件、操作系统、应用服务和业务

Linux下系统如何监控服务器硬件、操作系统、应⽤服务和业务1.Linux监控概述Linux服务器要保证系统的⾼可⽤性,需要实时了解到服务器的硬件、操作系统、应⽤服务等的运⾏状况,各项性能指标是否正常,需要使⽤各种LINUX命令。

做到⾃动化运维就需要,将上述各项监控指标在同⼀个软件中展显出来,图形化监控,消息报警机制,⽇志检看,资产管理等等2.Linux监控的对象2.1 硬件监控(1)服务器:如电源,风扇,磁盘,CPU等,可以使⽤IPMI监控,在LINUX下安装IPMITOOL不同的服务器⼚商都在服务器上配有远程控制卡BMC: 如DELL(iDRAC) ,IBM (IMM) ,HP(ILO)LINUX下只需安装:#yum install -y OpenIPMI ipmitool 这⼆个⼯具就可以IPMI命令可以在服务器本地运⾏,也可以通过⽹络远程调⽤,IPMI在服务器上可以配置单独的IP地址和访问密码(2)⽹络设备:交换机,防⽕墙,路由器等,使⽤SNMP进⾏监控在被监控的设备上开启SNMP代理,到时可以通过⼯具进⾏获取数据,如ZABBIX1.LINUX上安装#yum list |grep snmp#yum install -y net-snmp net-snmp-utils安装好后要配置snmpd.conf⽂件rocommunity snmptest 172.16.20.89 #172.16.20.89表⽰仅这IP地址才可以来访问snmp信息#systemctl start snmpd 启动SNMP ,netstat -nulp ,netstat -ntlp 查看snmp启来的端⼝udp=161 ,TCP=199通过SNMP命令可以获取监控信息:#snmpget -v2c -c snmptest 172.16.20.89 1.3.6.1.2.1.1.3.0 #1.3.6.1.2.1.1.3.0为OID2.交换机上开启snmp-server community public ro(3)定期机房巡检,查看设备运⾏情况2.2 操作系统监控安装sysstat⼯具,包括了iostat、vmstat、sar、mpstat、nfsiostat、pidstat (yum install -y sysstat #rpm -ql sysstat)(1)CPU (CPU调度上下⽂切换,运⾏队列负载,CPU使⽤率)确定服务类型:IO密集型(如:数据库),CPU密集型(如:WEB)1.cpu利⽤率内核态: 30%和⽤户态:70%2.cpu运⾏队列:1~3线程 1CPU=4核队列不超过12个3.上下⽂切换:尽量少,结合cpu利⽤率4.#top命令(显⽰CPU和内存信息,M按内存使⽤率排序,P按CPU使⽤率排序,Q退出)CPU百分⽐各项指标: us:⽤户态 sy:内核态 ni:进程间优先级更换 id:空闲 wa:IO等待 hi:硬中断 si:软件中 st:虚拟5.CPU监控的各种命令:top ,vmstat , mpstat, uptime ,ps cpu进程情况,pstree 以树形结构显⽰进程之间的关系(2)内存1. free -m :显⽰内存信息2.vmstat :来监控虚拟内存 #vmstat 1 10 每隔1秒共10次获取监控信息(3)磁盘1.iostat:命令⽤来显⽰存储⼦系统的详细信息,通常⽤它来监控磁盘 I/O 的情况。

Linux系统监控脚本使用Shell脚本实现对Linux系统的实时监控

Linux系统监控脚本使用Shell脚本实现对Linux系统的实时监控

Linux系统监控脚本使用Shell脚本实现对Linux系统的实时监控一、监控脚本介绍Linux系统监控脚本是一种使用Shell脚本编写的工具,能够实时监控Linux系统的各项指标并生成监控报告。

通过监控脚本,系统管理员可以及时了解系统运行状态,识别并解决潜在的问题,确保系统的正常运行和稳定性。

二、脚本编写1. 脚本环境设置在开始编写监控脚本之前,先在脚本的开头设置环境变量,包括脚本解释器、脚本名称和脚本存放路径等。

例如:```#!/bin/bashSCRIPT_NAME="Linux监控脚本"SCRIPT_PATH="/usr/local/scripts"```2. 监控项定义根据需要监控的指标,定义相关的变量并赋初始值。

例如,我们可以定义变量来监控CPU、内存和磁盘的使用情况:CPU_USAGE=0MEMORY_USAGE=0DISK_USAGE=0```3. 监控函数编写编写监控函数来获取系统的各项指标数值,并将其赋给相应的变量。

例如,我们可以编写获取CPU使用率的函数:```get_cpu_usage() {CPU_USAGE=$(top -b -n 1 | grep '%Cpu(s)' | awk '{print $2}')}```类似地,我们可以编写获取内存和磁盘使用情况的函数,并将其整合到脚本中。

4. 监控脚本主体在监控脚本的主体部分,通过循环调用各个监控函数,实时获取系统的指标数值,并输出监控报告。

例如,我们可以编写一个监控函数,将各项指标输出到文件中:monitor() {while true; doget_cpu_usageget_memory_usageget_disk_usageecho "$(date): CPU使用率: ${CPU_USAGE}% 内存使用率: ${MEMORY_USAGE}% 磁盘使用率: ${DISK_USAGE}%" >> ${SCRIPT_PATH}/monitor.logsleep 60done}```5. 脚本执行与定时任务将监控脚本保存为可执行文件,并将其加入系统的定时任务中,以实现定期执行监控脚本。

Linux怎么利用script命令保存用户操作记录

Linux怎么利用script命令保存用户操作记录

Linux怎么利用script命令保存用户操作记录有时公司需要记录每位服务器登陆者的行为轨迹,在Linux系统中怎么实现呢?本文就来介绍一下Linux利用script命令保存用户操作记录的方法。

解决问题:linux script 命令正有如此强大的功能。

满足我们需求。

script记录终端会话。

操作步骤:我是centos6.3系统,自带script命令,如果没有,大家需手动安装。

vim /etc/profile在末尾添加:if [ $UID -ge 1000 ]; thenexec /usr/bin/script -t 2》/mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /mnt/log/script/$USER-$UID-`date +%Y%m%d%H%M`.logfi这样用户登陆后执行的操作都会记录到/mnt/log/script/*.log(目录自己根据服务器目录定义)里,我们可以通过more或vi来进行查看。

我这里是把用户ID 大于1000的都记录下操作,你可以重新登录用户,操作一些命令,查看生成的文件。

另外,/mnt/log/script 目录需要其他用户有写的权限;chmod 743 /mnt/log/script可以看到上图,对应的用户登录,会分别生成一个log和date为后缀的文件。

log记录了操作,可以通过date文件回放操作。

通过scriptreplay 来回放注意:先是“时间文件”,然后是“命令文件”,不要颠倒。

补充:系统常用维护技巧1,在“开始” 菜单中选择“控制面板” 选项,打开“控制面板” 窗口,单击“管理工具” 链接2,在打开的“管理工具” 窗口中双击“事件查看器” 图标3,接着会打开“事件查看器” 窗口4,在右侧窗格中的树状目录中选择需要查看的日志类型,如“事件查看器本地--Win日志--系统日志,在接着在中间的“系统” 列表中即查看到关于系统的事件日志5,双击日志名称,可以打开“事件属性” 对话框,切换到“常规” 选项卡,可以查看该日志的常规描述信息6,切换到“详细信息” 选项卡,可以查看该日志的详细信息7,打开“控制面板” 窗口,单击“操作中心” 链接,打开“操作中心” 窗口,展开“维护” 区域8,单击“查看可靠性历史记录” 链接,打开“可靠性监视程序” 主界面,如图所示,用户可以选择按天或者按周为时间单位来查看系统的稳定性曲线表,如果系统近日没出过什么状况,那么按周来查看会比较合适。

Linux查看登录日志

Linux查看登录日志

Linux查看登录⽇志⼀、查看⽇志⽂件Linux查看/var/log/wtmp⽂件查看可疑IP登陆last -f /var/log/wtmp该⽇志⽂件永久记录每个⽤户登录、注销及系统的启动、停机的事件。

因此随着系统正常运⾏时间的增加,该⽂件的⼤⼩也会越来越⼤,增加的速度取决于系统⽤户登录的次数。

该⽇志⽂件可以⽤来查看⽤户的登录记录,last命令就通过访问这个⽂件获得这些信息,并以反序从后向前显⽰⽤户的登录记录,last也能根据⽤户、终端tty或时间显⽰相应的记录。

查看/var/log/secure⽂件寻找可疑IP登陆次数⼆、脚本⽣成所有登录⽤户的操作历史在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" = "" ]thenUSER_IP=`hostname`fiif [ ! -d /tmp/dbasky ]thenmkdir /tmp/dbaskychmod 777 /tmp/dbaskyfiif [ ! -d /tmp/dbasky/${LOGNAME} ]thenmkdir /tmp/dbasky/${LOGNAME}chmod 300 /tmp/dbasky/${LOGNAME}fiexport HISTSIZE=4096DT=`date "+%Y-%m-%d_%H:%M:%S"`export HISTFILE="/tmp/dbasky/${LOGNAME}/${USER_IP}-dbasky.$DT"chmod 600 /tmp/dbasky/${LOGNAME}/*dbasky* 2>/dev/nullsource /etc/profile 使⽤脚本⽣效退出⽤户,重新登录⾯脚本在系统的/tmp新建个dbasky⽬录,记录所有登陆过系统的⽤户和IP地址(⽂件名),每当⽤户登录/退出会创建相应的⽂件,该⽂件保存这段⽤户登录时期内操作历史,可以⽤这个⽅法来监测系统的安全性。

Linux系统日志监控自动化脚本使用Shell脚本自动监控系统日志并发送警报

Linux系统日志监控自动化脚本使用Shell脚本自动监控系统日志并发送警报

Linux系统日志监控自动化脚本使用Shell脚本自动监控系统日志并发送警报在企业领域使用Linux作为服务器操作系统已经非常普遍,为了确保服务器的稳定和安全,实时监控系统日志是非常重要的一项任务。

为了简化这一过程,我们可以使用Shell脚本来自动监控系统日志并发送警报。

本文将详细介绍如何编写一个Linux系统日志监控自动化脚本。

一、准备工作1. 确保服务器上已经安装了Shell环境,并且具备执行权限;2. 创建一个用于存储脚本文件的目录,例如/usr/local/bin;3. 了解服务器日志文件的存储路径和命名规则。

二、编写脚本下面是一个示例脚本,用于监控/var/log/syslog文件,并在检测到关键字"error"时发送邮件警报。

```#!/bin/bashLOG_FILE="/var/log/syslog"KEYWORD="error"EMAIL="**********************"tail -f $LOG_FILE | grep --line-buffered $KEYWORD | while read linedoecho "$line" | mail -s "System Log Alert" $EMAILdone```在脚本中,我们首先定义日志文件路径(LOG_FILE)、关键字(KEYWORD)和接收警报的邮箱地址(EMAIL)。

然后,使用tail -f 命令实现对日志文件的实时追踪,并使用grep命令过滤出包含关键字的行。

最后,通过循环读取每一行日志并使用mail命令发送邮件给指定的邮箱地址。

三、设置定时任务为了实现自动化监控,我们可以使用Linux系统内置的cron定时任务功能。

通过编辑用户的crontab文件,添加以下内容:```* * * * * bash /usr/local/bin/log_monitor.sh```上述设置表示每分钟执行一次log_monitor.sh脚本,你可以根据需要调整执行频率。

Linux用户追踪脚本

Linux用户追踪脚本

Linux用户追踪脚本Linux是一种开源的操作系统,其具有高度的灵活性和可定制性。

为了监控和追踪Linux系统上的用户活动,开发了各种各样的脚本。

本文将介绍一种用于追踪Linux用户活动的脚本。

一、脚本概述该脚本基于Bash编写,旨在跟踪用户在Linux系统上的操作活动。

它可以记录用户的登录、登出、命令执行等活动,并将这些信息存储在指定的日志文件中。

二、使用说明1. 安装依赖在运行脚本之前,需要确保系统中已安装了inotify-tools和sysstat 这两个工具。

可以通过以下命令安装:```sudo apt-get install inotify-tools sysstat```2. 设置日志文件路径打开脚本文件,将`LOG_FILE`变量修改为您想要保存日志的路径和文件名。

例如:```LOG_FILE="/var/log/user_activity.log"```3. 运行脚本使用以下命令来运行脚本:```bash user_tracking_script.sh```4. 查看日志通过查看指定的日志文件,您可以看到用户的活动记录。

可以使用cat或者less等命令进行查看,例如:```cat /var/log/user_activity.log```三、脚本代码下面是该用户追踪脚本的代码示例:```bash#!/bin/bashLOG_FILE="/var/log/user_activity.log"# 创建日志文件touch $LOG_FILE# 跟踪用户操作inotifywait -m -e modify /var/log/auth.log | while read linedoif [[ $line == *"sshd"* ]]; thenuser=$(echo $line | awk '{print $NF}')activity=$(echo $line | awk '{for(i=1;i<=NF-1;i++){printf "%s ",$i}}')timestamp=$(date +"%Y-%m-%d %H:%M:%S")echo "[$timestamp] User: $user, Activity: $activity" >>$LOG_FILEfidone```四、脚本工作原理该脚本使用inotifywait工具监听/var/log/auth.log文件的修改事件。

Linux系统查看用户的7个命令

Linux系统查看用户的7个命令

Linux系统查看用户的7个命令Linux系统查看用户的7个命令在Linux系统里,我们会经常用Linux查看用户的命令,在这里我们一些命令进行了总结,总共有7个,并做了详细的解释,以便让大家更深入的理解,下面是店铺为大家收集的Linux系统查看用户的7个命令知识点,仅供参考,欢迎大家阅读。

一、Linux查看用户命令w命令该命令用于显示登录到系统的用户情况,w命令功能强大,它不但可以显示有谁登录到系统,还可以显示出这些用户当前正在进行的工作,并且统计数据相对who命令来说更加详细和科学.w命令的显示项目按以下顺序排列:当前时间,系统启动到现在的时间,登录用户的数目,系统在最近1秒、5秒和15秒的平均负载。

然后是每个用户的各项数据,项目显示顺序如下:登录帐号、终端名称、远程主机名、登录时间、空闲时间、JCPU、PCPU、当前正在运行进程的命令行。

其中JCPU时间指的是和该终端(tty)连接的所有进程占用的时间。

这个时间里并不包括过去的后台作业时间,但却包括当前正在运行的后台作业所占用的时间。

而PCPU时间则是指当前进程(即在WHAT项中显示的进程)所占用的时间。

下面介绍该命令的具体用法和参数。

二、Linux查看用户命令who命令该命令主要用于查看当前在线上的用户情况。

这个命令非常有用。

如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。

又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。

login name:登录用户名;terminal line:使用终端设备;login time:登录到系统的时间。

下面对who命令的常用参数进行说明。

-m它的效果同who am i显示出自己在系统中的用户名,登录终端,登录时间-q只显示用户的登录帐号和登录用户的数量-s忽略,它同于who-r可以查看当前系统的运行级别run-level 3 Apr 21 09:37 last=S-H,--heading 显示一行列标题。

Linux系统的日志目录

Linux系统的日志目录

Linux系统的⽇志⽬录连接时间的⽇志连接时间⽇志⼀般由/var/log/wtmp和/var/run/utmp这两个⽂件记录,通过who查看who /var/log/wtmp 【连接时间⽇志】who /var/log/utmp 【连接时间⽇志】ac -p //查看每个⽤户的连接时间ac -a //查看所有⽤户的连接时间ac -d //查看⽤户每天的连接时间系统和服务⽇志系统⽇志服务是由名为syslog的服务管理的,以下⽇志⽂件都由syslog⽇志服务驱动的:/var/log/lastlog :记录最后⼀次⽤户成功登陆的时间、登陆IP等信息/var/log/messages :记录Linux操作系统常见的系统和服务错误信息/var/log/secure :系统安全⽇志,记录⽤户和⼯作组变坏、⽤户登陆认证情况/var/log/btmp【last】:记录Linux登陆失败的⽤户、时间以及远程IP地址/var/log/cron :记录crond计划任务服务执⾏情况进程监控⽇志进程统计监控⽇志在监控⽤户的操作指令是⾮常有效的。

当服务器最近发现经常⽆故关机或者⽆故被⼈删除⽂件等现象时,可以通过使⽤进程统计⽇志查看[root@server ~]# accton /var/account/pacct //开启进程统计⽇志监控[root@server ~]# lastcomm [root@server ~]# accton //关闭进程统计⽇志监控RedHat6⽇志服务介绍在Linux系统,⼤部分⽇志都是由syslog⽇志服务驱动和管理的,syslog服务由两个重要的配置⽂件控制管理,CentOS 6及其以上: /etc/rsyslog.conf主配置⽂件/etc/init.d/rsyslog是启动脚本注意:CentOS 6之前版本是:/etc/syslog.conf. 和 /etc/sysconfig/syslog辅助[root@server rsyslog.d]# grep -v '#' /etc/rsyslog.conf |grep -v '^$'消息类型:auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog, user,uucp,local0~local7错误级别:(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic动作域: file,user,console,@remote_ipvim /etc/ rsyslog.conf⽂件*.info;mail.none;authpriv.none;cron.none /var/log/messages表⽰info级别的任何消息都发送到/var/log/messages⽇志⽂件,但邮件系统、验证系统和计划任务的错误级别信息就除外,不发送(none表⽰禁⽌)cron.* /var/log/cron 表⽰所有级别的cron信息发到/var/log/cron⽂件*.emerg * 表⽰emerg错误级别(危险)的所有消息发给所有⽤户⽇志转发原理了解对于发送消息到服务器的OS,只要在写/etc/syslog.conf主配置⽂件的时候,作⽤域为@server-ip就⾏了针对218.192.87.24这台服务器,把⼀台系统的所有info级别的auth信息发给⽇志服务器 @218.192.87.24 就OK了# 重启服务service rsyslog restart⽇志转储服务系统⼯作到了⼀定时间后,⽇志⽂件的内容随着时间和访问量的增加⽽越来越多,⽇志⽂件也越来越⼤。

Linux常见的日志文件及查看命令

Linux常见的日志文件及查看命令

Linux常见日志和常用命令Linux 日志都以明文形式存储,所以我们不需要特殊的工具就可以搜索和阅读它们。

Linux 日志存储在/var/log 目录中,我们可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。

一、Linux常用的日志文件# /var/log/boot.log该文件记录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息。

# /var/log/cron该日志文件记录crontab守护进程crond所派生的子进程的动作,前面加上用户、登录时间和PID,以及派生出的进程的动作。

CMD的一个动作是cron派生出一个调度进程的常见情况。

REPLACE(替换)动作记录用户对它的cron文件的更新,该文件列出了要周期性执行的任务调度。

RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存。

该文件可能会查到一些反常的情况。

# /var/log/maillog该日志文件记录了每一个发送到系统或从系统发出的电子邮件的活动。

它可以用来查看用户使用哪个系统发送工具或把数据发送到哪个系统。

# /var/log/messages该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。

该文件的格式是每一行包含日期、主机名、程序名,后面是包含PID或内核标识的方括号、一个冒号和一个空格,最后是消息。

该文件有一个不足,就是被记录的入侵企图和成功的入侵事件,被淹没在大量的正常进程的记录中。

但该文件可以由/etc/syslog文件进行定制。

由/etc/syslog.conf 配置文件决定系统如何写入/var/log/messages。

# /var/log/syslogRedHat Linux默认不生成该日志文件,但可以配置/etc/syslog.conf让系统生成该日志文件。

它和/etc/log/messages日志文件不同,它只记录警告信息,常常是系统出问题的信息,所以更应该关注该文件。

linux实现流量监控的几种方法

linux实现流量监控的几种方法

linux实现流量监控的⼏种⽅法/s/blog_6a1837e90100v9ye.html⼀、使⽤iptables命令;URL: /post/340/⼆、修改Netfilter的limit模块;URL: /dog250/article/details/6940578三、iptables的五个HOOK点;四、使⽤libpcap:需移植,暂未深⼊研究;五、修改内核:暂⽆⽅案;附:/2227948/560914--------------------------------------------------------------------------------------------------⼀、使⽤iptables命令:相信不少朋友都知道,使⽤Linux搭建路由⽹关,提供nat上⽹服务是⾮常简单的事情,⽽且性能也不错。

但现在p2p的⼯具很多,有时候带宽会被这些⼯具在⽆意中就占满了(例如:使⽤迅雷、BT下载等)。

这时候,总希望看看到底是谁在占⽤带宽。

这样的⼯具有很多,如ntop、bandwidthd、iftop、IPTraf、MRTG等等,它们也提供了⾮常⽅便的图形监控界⾯,操作也⾮常简单。

可惜,它们都有⼀些缺点,像实时性不够、IP流量分散、需要使⽤Web来查看等,恰好这些就是好我需要的。

为此,我利⽤iptables的统计功能,编写了⼀个⼩脚本来实现要求。

(原想⽤Perl的Net::Pcap模块的对数据包解码统计的,但既然有现成的,为什么不⽤呢?)O(∩_∩)O哈哈~⼀、查看⽹卡流量⾸先,可能我们需要查看的是服务器上总的⽹卡流量。

这个Linux提供了很好的数据:引⽤# cat /proc/net/devInter-| Receive | Transmitface |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed lo:10020933 79976 0 0 0 0 0 0 10020933 79976 0 0 0 0 0 0eth0:3274190272 226746109 438150 858758 369237 0 0 0 2496830239 218418052 0 0 0 0 0 0sit0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0tun0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0tun1: 4675 51 0 0 0 0 0 0 8116 48 0 0 0 0 0 0tun2: 51960 562 0 0 0 0 0 0 249612 3077 0 0 0 0 0 0ppp0:4163571679 12086605 0 0 0 0 0 0 3089285665 15934370 0 0 0 0 0 0这是⽹络启动后,通过服务器上各⽹卡的总流量,但不是很直观。

linux的操作日志

linux的操作日志

linux的操作日志Linux操作日志是记录Linux操作系统中用户、进程和系统事件的重要工具。

通过分析操作日志,可以了解系统的使用情况、故障排查以及安全审计等方面的信息。

本文将介绍Linux操作日志的分类、格式以及常见的操作日志工具和技巧。

一、操作日志分类Linux操作日志可以分为用户日志、系统日志和应用程序日志三种类型。

1. 用户日志:记录用户登录和注销、命令操作、文件访问和修改等用户行为。

用户日志的记录路径通常为/var/log目录下的auth.log 或secure文件。

2. 系统日志:记录系统启动、停机、内核消息、服务启动和停止等系统事件。

系统日志的记录路径通常为/var/log目录下的syslog文件。

3. 应用程序日志:记录应用程序运行过程中的事件和错误信息。

不同的应用程序可能会有不同的日志路径和格式,常见的应用程序日志有Apache、MySQL、Postfix等。

二、操作日志格式Linux操作日志通常采用文本格式进行记录。

每条日志记录包括时间戳、主机名、进程ID、日志级别和日志内容等字段。

1. 时间戳:记录日志发生的具体时间,精确到秒。

时间戳的格式通常为yyyy-mm-dd hh:mm:ss。

2. 主机名:记录生成日志的主机名称。

3. 进程ID:记录生成日志的进程的唯一标识符。

4. 日志级别:记录日志的重要程度,常见的日志级别有DEBUG、INFO、WARNING、ERROR和CRITICAL等。

5. 日志内容:记录具体的日志信息,如用户登录的用户名、命令操作的详细内容、系统事件的描述等。

三、操作日志工具和技巧Linux操作日志的分析和管理常常需要借助一些工具和技巧。

1. grep命令:grep命令可以根据关键字搜索日志文件,过滤出符合条件的日志记录。

例如,可以使用grep命令搜索包含特定错误信息的日志记录,以便快速定位问题。

2. tail命令:tail命令可以实时展示日志文件的最新内容。

Linux系统用户登录记录Shell脚本

Linux系统用户登录记录Shell脚本

Linux系统用户登录记录Shell脚本Shell脚本是一种编程语言,它可以在Linux系统中自动化执行任务。

在Linux系统中,可以使用Shell脚本来记录用户的登录信息。

本文将介绍如何编写一个用于记录Linux系统用户登录记录的Shell脚本。

## 1. 引言用户登录记录是一项重要的安全措施,它可以帮助系统管理员跟踪和审核用户登录活动。

通过编写一个Shell脚本,我们可以方便地记录用户的登录信息,以加强系统的安全性。

## 2. 获取用户登录信息首先,我们需要获取用户登录信息。

在Linux系统中,用户的登录信息通常存储在`/var/log/secure`文件中。

我们可以使用`grep`命令来筛选出登录相关的日志信息。

```shellgrep "Accepted password" /var/log/secure```上述命令将过滤`/var/log/secure`文件中包含"Accepted password"关键词的行。

这些行包含了用户成功登录的信息。

## 3. 提取用户登录信息从登录日志中提取用户的登录信息是我们下一步的目标。

我们需要解析日志行,获取用户名和登录时间。

```shellawk -F ' ' '{print $1, $2, $3, $10}' /var/log/secure```上述命令使用`awk`指令,使用空格作为分隔符,并打印第1、2、3和10个字段,即用户名、主机名、登录时间和登录状态。

通过这个命令,我们可以从日志中提取出用户的登录信息。

## 4. 记录用户登录信息现在我们已经获取到了用户的登录信息,接下来我们需要将这些信息记录下来。

我们可以使用`echo`命令将信息写入一个日志文件中。

```shellecho "$username logged in at $time from $host" >> /var/log/login.log ```上述命令将用户的登录信息写入`/var/log/login.log`文件中。

linux audit 审计规则总结与介绍

linux audit 审计规则总结与介绍

linux audit 审计规则总结与介绍Linux系统的安全性对于企业来说至关重要。

Audit审计作为一种监控和记录系统上各种操作的技术手段,可以帮助管理员及时发现并追踪可疑行为。

本文将为您详细介绍Linux Audit的审计规则,帮助您更好地理解和运用这一强大的系统监控工具。

一、Linux Audit审计规则概述Linux Audit审计是一种基于内核的审计机制,可以监控系统调用和文件访问等操作。

审计规则定义了哪些事件应该被记录下来,它们通常存储在/etc/audit/audit.rules文件中。

二、审计规则类型1.系统调用规则:监控指定的系统调用,如open、read、write等。

2.文件监控规则:监控对特定文件的访问,如读、写、执行等。

3.用户监控规则:监控特定用户的操作。

4.框架规则:用于定义审计策略的通用规则。

三、审计规则配置1.启用审计服务首先需要确保auditd服务已经安装并启动。

```bashsudo apt-get install auditd # 在Debian/Ubuntu系统中安装sudo systemctl start auditd # 启动审计服务```2.修改审计规则编辑/etc/audit/audit.rules文件,添加以下规则:- 记录所有登录和登出事件:```-a always,exit -F arch=b64 -S login -S logout -k session```- 记录所有文件删除操作:```-a always,exit -F arch=b64 -S unlink -S unlinkat -k delete```- 记录特定用户的所有操作:```-a always,exit -F arch=b64 -F auid=1000 -S all -k user```- 记录对特定文件的访问:```-w /etc/passwd -p wa -k password```四、审计日志分析审计日志通常存储在/var/log/audit/audit.log文件中。

Linux环境下查看历史操作命令及清除方法

Linux环境下查看历史操作命令及清除方法

Linux环境下查看历史操作命令及清除⽅法在Linux环境中可以通过⽅向键的上下按键查看近期键⼊的命令。

但这种⽅法只能⼀个⼀个的查看,其实系统提供了查看所有历史命令的⽅法。

在终端中输⼊以下命令查看所有命令:history[root@template ~]# history1ifconfig2 vim /etc/ssh/sshd_config3 /etc/init.d/sshd restart4 vim /boot/grub/grub.conf5 vim /etc/selinux/config6 vim /etc/sysconfig/network-scripts/ifcfg-eth07rm -rf /etc/udev/rules.d/70-persistent-net.rules8 useradd vsroot9echo -e 'vsroot\tALL=(ALL)\tNOPASSWD: ALL' >> /etc/sudoers10yum clean all11rm -rf /var/log/yum.log12rm -rf /var/lib/yum/*13 rm -rf /root/install.log14 rm -rf /root/install.log.syslog15 rm -rf /var/log/anaconda.*history命令列出了所有已键⼊的命令,⽤户所键⼊的命令都会记录在⽂件中,该⽂件保存在当前登录⽤户的家⽬录中。

⽂件名称为:.bash_history,该⽂件是⼀个隐藏⽂件。

历史操作命令的清除:如果在服务器中⼲了不好的事情,可以通过“history -c”命令进⾏清除,那么其他⼈登录终端时就⽆法查看历史操作命令了。

但此命令并不会清除保存在⽂件中的记录,因此需要⼿动删除.bash_profile⽂件中的记录。

配置是否记录历史操作命令或记录条数:在“/etc/profile”配置⽂件中可以配置是否记录历史操作命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

linux下监控用户的操作记录
这个方案会在每个用户退出登录时把用户所执行的每一个命令都发送给日志守护进程rsyslogd,你也可通过配置“/etc/rsyslog.conf”进一步将日志发送给日志服务器
操作如下:
确保存在/data目录
把下面内容添加到/etc/profile文件底部
[root@vm17218 /]# vi /etc/profile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19........
DT=`date "+%Y-%m-%d_%H:%M:%S"`
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| \
awk '{print $NF}'|sed -e 's/[()]//g'`] "
echo "" > .bash_history
if [ ! -d /data/history ]
then
mkdir /data/history 2>/dev/null
chmod 777 /data/history
fi
if [ ! -d /data/history/${LOGNAME} ]
then
mkdir /data/history/${LOGNAME} 2>/dev/null
chmod 777 /data/history/${LOGNAME}
fi
export PROMPT_COMMAND='\
if [ "$(history 1)" != "$LAST_CMD" ]; then
export LAST_CMD="[$OLD_PWD]$(history 1)";
echo "$LAST_CMD" >>
"/data/history/${LOGNAME}/${LOGNAME}_shell_cmd_$DT" 2>/dev/null fi ;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;'
[root@vm17218 /]# source /etc/profile
操作日志存档位置:
在/data/history目录下按照登陆用户名创建目录[root@vm17218space2 history]# ll
total 4
drwxrwxrwx. 2 baicells baicells 4096 May 11 03:15 baicells drwxrwxrwx. 2 root root 47 May 11 03:21 root
按照当次登陆时间命名和存档
[baicells@vm17218space2 baicells]$ ll
total 16
-rw-rw-r--. 1 baicells baicells 652 May 11 03:11 baicells_historylog_2017-05-11_03:09:55
-rw-rw-r--. 1 baicells baicells 129 May 11 03:11 baicells_shell_cmd_2017-05-11_03:11:52
-rw-rw-r--. 1 baicells baicells 1277 May 11 03:15 baicells_shell_cmd_2017-05-11_03:12:08
-rw-rw-r--. 1 baicells baicells 1367 May 11 03:20 baicells_shell_cmd_2017-05-11_03:15:36
[baicells@vm17218space2 baicells]$
记录操作的具体时间、登陆IP地址、执行命令行以及该操作所在目录
[root@vm17218space2 history]# more baicells/baicells_shell_cmd_2017-05-11_03:12:08
[/home/baicells] 2 [2017-05-11 03:12:13] [111.207.206.12] cd /data
[/data] 3 [2017-05-11 03:12:14] [111.207.206.12] ll
[/data] 4 [2017-05-11 03:12:16] [111.207.206.12] cd history
[/data/history] 5 [2017-05-11 03:12:18] [111.207.206.12] ll
[/data/history] 6 [2017-05-11 03:12:20] [111.207.206.12] cd baicells
[/data/history/baicells] 7 [2017-05-11 03:12:20] [111.207.206.12] ll
[/data/history/baicells] 8 [2017-05-11 03:12:26] [111.207.206.12] more baicells_shell_cmd_2017-05-11_03:12:08
[/data/history/baicells] 9 [2017-05-11 03:13:29] [111.207.206.12] export LAST_CMD="$(history 1)[$OLD_PWD]";
[/data/history/baicells] 10 [2017-05-11 03:13:32] [111.207.206.12] ls
[/data/history/baicells] 11 [2017-05-11 03:13:37] [111.207.206.12] more baicells_shell_cmd_2017-05-11_03:12:08
[/data/history/baicells] 12 [2017-05-11 03:13:51] [111.207.206.12] cd .. [/data/history] 13 [2017-05-11 03:13:54] [111.207.206.12] more baicells_shell_cmd_2017-05-11_03:12:08
[/data/history] 14 [2017-05-11 03:13:57] [111.207.206.12] cd baicells
[/data/history/baicells] 15 [2017-05-11 03:13:58] [111.207.206.12] more baicells_shell_cmd_2017-05-11_03:12:08
[/data/history/baicells] 16 [2017-05-11 03:14:32] [111.207.206.12] sudo vi /etc/profile。

相关文档
最新文档