千家信息网

Linux用户行为分析的方法是什么

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"Linux用户行为分析的方法是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
千家信息网最后更新 2026年11月03日Linux用户行为分析的方法是什么

这篇"Linux用户行为分析的方法是什么"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Linux用户行为分析的方法是什么"文章吧。

finger命令

finger是获取用户个人资料的一个便捷命令。 它使您可以查看谁已登录或专注于单个用户,以查看上一次登录、他们从何处登录、闲置时间有多久(自运行命令以来有多久)等。 在该命令中, 我们查看用户nemo。

$ finger nemo  Login: nemo Name: Nemo Demo  Directory: /home/nemo Shell: /bin/bash  On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6  7 minutes 47 seconds idle  New mail received Wed Jun 17 18:31 2020 (EDT)  Unread since Sat Jun 13 18:03 2020 (EDT)  No Plan.

‎我们可以看到nemo的全名、主目录和外壳,还可以看到nemo的最新登录和电子邮件活动。 仅在/etc/passwd文件中的全名字段中定义了办公室、办公室电话和家庭电话号码,这些信息才包括在内。 比如说:‎

nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).

上面的输出还表明nemo没有"计划",但这只是意味着该用户没有创建.plan文件、并将一些文本放入其中。 这并不罕见。如果没有参数,finger将以如下所示的格式显示当前登录列表。 您可以看到他们何时登录、从哪个IP地址登录、使用中的伪终端(比如pts/1)以及闲置了多久。

$ finger  Login Name Tty Idle Login Time Office Office Phone  nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6)  shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60

w命令

‎w命令也以一份格式清晰的列表显示了目前活动的用户,包括闲置时间、用户最近运行了什么命令。 它还在最上面一行显示系统已运行了多久,并提供负载平均数字,表明系统有多忙碌。 在这里,系统基本上处于闲置状态。‎

$ w  14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00  USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT  shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w  nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash

id命令

如果使用id命令,您可以查看用户的数值ID和用户组ID以及该用户是哪些用户组的成员。 这些信息从/etc/passwd文件和/etc/group文件获取而来。 没有参数的id报告您帐户的信息。‎

$ id  uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops)  $ id nemo  uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish)  auth.log

您可以使用grep之类的命令从/var/log/auth.log文件获取信息。 为了使用auth.log数据显示最近登录活动,您可以运行这样的命令:‎

$ grep "New session" /var/log/auth.log | awk '{print $1,$2,$3,$11}' | tail -5  Jun 17 17:22:38 shs.  Jun 17 17:58:43 gdm.  Jun 17 18:09:58 shs.  Jun 19 12:57:36 shs.  Jun 19 12:58:44 nemo.

last命令

last命令可能最擅长查看所有用户或某一个用户的最近登录。 记住一点:last首先显示最近的活动,因为这是大多数管理员最感兴趣的信息。‎

$ last | head -5  nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in  shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in  shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)  reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running  shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)  $ last nemo | head -5  nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22)  nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16)  nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10)  nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52)  nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02)

du命令

如果针对/home中的每个目录运行,du命令会报告每个用户的主目录在使用多少空间,就像这样:

$ sudo du -sk /home/*  289 /home/dorothy  116 /home/dory  88 /home/eel  28 /home/gino  28 /home/jadep  12764 /home/nemo  732 /home/shark  418046 /home/shs  108 /home/tadpole

默认情况下,报告的大小以1024字节为单位。

ps和history命令

针对当前登录的用户,您始终可以使用ps -ef | grep ^nemo之类的命令,查看用户目前在运行哪些命令和进程。 想查看以前运行的命令,可以试着查看用户的历史记录文件(比如.bash_history),不过要注意,用户可以设置帐户,以便某些命令不被捕获到历史记录文件中,他们还可以编辑这些文件,如果选择这么做的话。‎

统计登录次数

如果您想查看自/var/log/wtmp文件上一次翻转以来每个用户登录的次数,可以使用这样的命令:

$ for USER in `ls /home`> do  > cnt=`last $USER | grep ^$USER | wc -l` # count logins  > echo $USER: $cnt # show login count  > done

输出会像是这样:

dorothy: 0  dory: 0  eel: 8  gino: 0  jadep: 102  nemo: 39  shark: 50  shs: 105  tadpole: 0

如果您想要更多的细节,可以创建一个较复杂的脚本,以便添加另外一些信息,比如登录细节和格式。

#!/bin/bash  sepline="===================="  for USER in `ls /home`  do  len=`echo $USER | awk '{print length($0)}'` # get length of username  echo $USER  sep="${sepline:1:$len}" # set separator  echo $sep # print separator  cnt=`last $USER | grep ^$USER | wc -l` # count logins  echo logins: $cnt # show login count  last $USER | grep ^$USER | head -5 # show most recent logins  echo  done

上述‎‎脚本‎‎将显示的数据限制在最近的五次登录,但是您可以轻松改变。 以下是一个用户的数据的格式会什么样:‎

shs  ===  logins: 105  shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in  shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)  shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)  shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36)  shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38)

检查企图使用sudo的情况

如果您想看看用户中有谁企图使用sudo、而他们本无这项权限,可以运行这样的命令:

$ grep "NOT in sudoers" /var/log/auth.log | awk '{print $6}'nemo

如果您在无权提升权限的情况下试图使用sudo,而系统发出警告信息"用户名不在sudoers文件中。 将报告该事件",您可能会知道这个日志条目是该报告的精髓。 除非管理员竭力寻找sudo使用违规,否则它们不会被人注意。

以上就是关于"Linux用户行为分析的方法是什么"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

用户 命令 登录 文件 运行 信息 内容 报告 格式 活动 方法 行为 行为分析 分析 情况 数据 目录 系统 全名 办公室 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 广州大一互联网络科技有限公司 湖南永感互联网科技有限公司 金融科技 互联网金融 互联网医疗科技 未来的互联网科技 壕鑫互联网络科技 互联网科技小额贷款 顺玮阁互联网科技 上海亿帐通互联网科技 汉立互联网科技有限公司联系电话 茂名市互联网科技产业园 互联网科技与大数据专业 深圳育鹏互联网科技有限公司招聘 山东有哪些互联网科技公司 2021互联网科技公司排名 南通创西澳互联网科技有限公司 全球科技与互联网公司市值变化 西安左小互联网科技有限公司 上海互联网科技园景观 伟宏互联网科技 奇酷互联网络科技 广州凡科互联网科技 栖莱科技互联网股份有限公司 呼和浩特新华互联网科技学院 互联网新科技动漫ppt素材 深圳互联网科技的发展 同城互联网络科技 长沙易易互联网科技有限公司 互联网科技创业有什么好项目
0