If you’re managing a Linux server, it’s good to be ready with a number of commands that you can use to check user activity – when your users are logging in and how often, what groups they belong to, how much disk space they’re consuming, what command they're running, how much disk space they're occupying, if they’re reading their mail and more.
在这篇文章中,我们将看到一个数字,可以帮助您了解谁是你的用户是以及它们如何工作的命令。
手指
用于获取用户配置文件的一个方便的命令是手指。它可以让你看到谁登录或专注于单个用户查看他们的最后一次登录,在那里他们登录的,他们已经闲置的时长(多长时间,因为他们跑了命令),等等。在此命令,我们正在寻找在用户尼莫。
$手指尼莫登录:尼莫名称:尼莫demo目录:/家庭/尼莫壳牌:/斌/庆典上,因为上周五的PTS 6月19日12:58(EDT)/ 1 192.168.0.67分钟47秒空闲新邮件收到星期三6月17日18:31 2020(EDT)未读,因为星期六6月13日18:03 2020(EDT)没有计划。
我们可以看到Nemo的全名,主目录和外壳。我们还可以看到Nemo的最近的登录名和电子邮件活动。如果他们在规定的办公室,办公室电话和家庭电话号码只包括/ etc / passwd文件文件的全名字段。例如:
尼莫:X:1001:1001:尼莫演示,11,540-222-2222,540-333-3333:/家庭/尼莫:/斌/庆典)。
上面还输出表明尼莫没有“计划”,但这只是意味着他并没有创造。计划文件,并把一些文字到它;这是不是在所有不寻常的。
如果没有参数,手指将在下文中所示的格式显示当前登录的列表。你可以看到,当他们在,他们在从登录的IP地址登录,使用伪终端(例如,PTS / 1),他们已经闲置的时长。
$手指登录名佩蒂空闲登录时间Office办公电话尼莫尼莫示范点/ 1 1:24 6月19日12:58(192.168.0.6)SHS桑德拉·亨利 - 斯托克PTS / 0 6月19日12:57(192.168.0.60欧洲杯男足
w ^
该w ^命令也提供当前的活跃用户一个很好的格式化列表,包括空闲时间和什么命令他们最近跑了。它也显示在顶部行的系统已经多久了起来,并提供表明系统的繁忙程度平均负载。在这种情况下(0.00最后1,5和15分钟),该系统在很大程度上是空闲的。
$ W 14点23分19秒高达1天,20点24分,2个用户,平均负载: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 /组文件。不带任何参数,ID报告为您的帐户信息。
$ ID UID = 1000(SHS)GID = 1000(SHS)基团= 1000(SHS),4(ADM),11(管理员),24(CDROM),27(须藤),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
您可以从猛拉信息/var/log/auth.log与像命令文件grep的。要使用显示最近登录活动auth.log数据,你可以运行类似这样的命令:
$ grep的 “新建会话” /var/log/auth.log |AWK '{打印$ 1,$ 2,$ 3,$ 11}' |尾-5 6月17日17点22分38秒SHS。6月17日17点58分43秒GDM。6月17日18时09分58秒SHS。6月19日12时57分36秒SHS。6月19日12时58分44秒尼莫。
持续
该持续命令可能是最好的看着最近登录的所有用户或一个人。只要记住,持续显示最近的活动首先因为这是大多数管理员最感兴趣的信息。
$最后|头-5尼莫PTS / 1 192.168.0.6星期五06月19日12:58还是记录在SHS PTS / 0 192.168.0.6星期五06月19 12点57分仍然记录在SHS PTS / 0 192.168.0.6星期三06月17 18:10 - 18:42(00:32)重新启动系统启动5.4.0-37泛型周三6月17日17:58仍在运行SHS PTS / 2 192.168.0.6周三6月17日17:22 - 17:57(00:34)$最后尼莫|头-5
尼莫PTS / 1 192.168.0.6星期五6月19日12:58 - 16点21分(3时22分)
尼莫PTS / 2 192.168.0.6周六6月13日17点49 - 19:05(一时16)
尼莫PTS / 1 192.168.0.6星期四6月4日17点33分 - 17点44(00:10)
尼莫PTS / 1 192.168.0.19星期一5月11日19时04分 - 19点57分(零点52)
尼莫PTS / 1 192.168.0.19星期二5月5日12点46分 - 17点49分(05:02)
杜
该杜命令将报告有多少空间,如果对运行中的每个目录中每个用户的主目录使用/家像这样:
$ sudo的杜-sk /家庭/ * 289 /家庭/多萝西116 /家庭/鲂88 /家庭/鳗鱼28 /家庭/吉诺28 /家庭/ jadep 12764 /家用/ nemo的732 /首页/鲨鱼418046 /家庭/ SHS 108/家/蝌蚪
默认情况下,大小报告的1024个字节为单位。
PS和历史
对于当前登录用户,你总是可以使用类似的命令PS -ef |grep的^尼莫看什么命令和处理用户正在运行。要查看以前运行的命令,你可以尝试寻找到用户的历史文件(例如,.bash_history的),但请注意,用户可以设置自己的账户,因此某些命令不能在他们的历史文件中捕获,并且他们还可以编辑这些文件,如果他们选择这样做。
计数登录
如果你想查看了多少次,因为每个用户已经登录在/ var /日志/ wtmp文件文件的最后翻了个身,你可以使用一个命令像这样的:
在`LS / home`> DO> CNT =`最后$ USER美元USER |grep的^ $ USER |WC -l`#计数登录>回声$ USER:$#CNT显示登录计数>完成
输出会是这个样子:
DOROTHY:0鲂:0鳗鱼:8吉诺:0 jadep:102尼莫:39鲨鱼:50个SHS:105蝌蚪:0
如果您想更详细,你可以把更复杂的脚本一起,可以添加一些额外的信息,如登录信息和格式化。
#!/斌/庆典sepline = “====================” 在`LS USER / home`做的len =`回声$ USER |用户名的awk '{打印长度($ 0)}'`#获取长度回声$ USER月= “$ {sepline:1:$ LEN}” #设置分隔回声$#九月打印分离CNT =`最后$ USER |grep的^ $ USER |WC -l`#计数登录回声登录:$#CNT显示登录计数最后$ USER |grep的^ $ USER |头-5#显示最近登录进行回声
上面的脚本限制显示最近5所登录的数据,但你可以很容易地改变,如果你喜欢。下面是一个用户的数据将被格式化:
SHS ===登录:105个SHS PTS / 0 192.168.0.6星期五06月19 12点57仍然记录在SHS PTS / 0 192.168.0.6星期三06月17 18:10 - 18时42(00:32)SHS PTS / 2 192.168.0.6星期三6月17日17时22分 - 17点57分(0时34分)SHS PTS / 0 192.168.0.25星期三6月17日17时20分 - 17点57分(0点36分)SHS PTS / 1 192.168.0.6星期三15年6月17日:19 - 17点57(2点38分)
检查sudo的尝试
如果你想看看您的任何用户试图使用须藤当不成立,他们有这个特权,可以运行如下命令:
$ grep的 “NOT在sudoers中” /var/log/auth.log |AWK '{打印$ 6}' 尼莫
如果你曾经尝试过使用须藤在您没有权限提升你的特权,并系统威胁你的情况“用户名不是在sudoers文件,这个事件会报,”你可能会想知道这日志条目是该报告的本质。除非管理员所做的努力去寻找须藤犯,他们会被忽视。
包起来
有很多Linux系统上的命令,可以帮助你在用户活动检查。我希望一些人在这个岗位提出的将被证明是有用的。