查看Linux用户登录与lslogins

lslogins命令可以帮助您查看用户帐户和登录活动的详细信息

密码登录屏幕覆盖数据和网络连接的抽象背景。
Vladimir Kazakov / Getty Images

列出Linux系统上用户登录的详细信息的一种方便的方法是使用lslogins.命令。您将得到一个非常有用的、格式很好的显示,其中包括相当多的重要细节。

在我的系统和大多数其他系统上,用户帐户将以UID 1000开始。要只列出这些帐户,而不包括所有服务帐户,如daemon、mail和syslog,可以添加- u选项如下例所示。

$ sudo lslogins -u uid用户proc pwd-lock pwd-deny lall-login gecos
0根151 0 0根
1000 shs 68 0 0 12:35 Sandra H-S 1001 nemo 0 0 0 2021-Jan05 Nemo Demo,,, 1002 dbell 0 0 1 Dory Bell 1003 shark 2 0 0 7:15 Sharon Hark 1004 tadpole 0 0 0 2020-Dec05 Ted Pole 1005 eel 0 0 0 2021-Jan11 Ellen McDay 1006 bugfarm 0 0 0 2021-Jan01 Bug Farm 1008 dorothy 0 0 1 Dorothy Reuben 1012 jadep 0 0 1 2021-Jan04 Jade Jones 1013 myself 0 0 0 2021-Jan12 My Self 1014 marym 0 0 0 2020-Mar20 Mary McShea 1017 gijoe 0 0 0 GI Joe 65534 nobody 0 0 1 nobody

什么是什么lslogins.命令从系统文件中获取相关信息,例如/ etc / passwd/ etc / shadow/ var / log / wtmp并以如下所示的格式铺设它。如果在不使用的情况下运行此命令苏达,您将无法检索显示的所有信息。非特权帐户不能访问所有需要的文件。

显示屏显示数字uid、用户名和正在运行的进程数。这个输出表明,列出的第一个用户可能已经登录到系统控制台,因为她有68个正在运行的进程。我们没有看到的是,她也登录了一个伪终端;如果我们使用命令

接下来的两列(PWD-LOCK和PWD-DENY)显示四个帐户被锁定。其中每一个都有一个密码哈希字段/ etc / shadow文件,以“!”开头。此外,我们只看到五个“最近”的登录。(我把“最近”的引号放在引号中,因为3月20日,2020年3月20日似乎近来的所有人都没有。使用,因为/ var / log / wtmp文件在2020年3月或更早版本中滚动。由于其中两个最后一次登录日期仅显示时间 - 而不是日期 - 我们知道它们都显示了今天的登录。

仅显示一个用户的详细信息

如果要仅显示一个特定用户的详细信息,则可以将用户名添加为命令作为参数。您将看到完全不同的显示格式以及一些其他详细信息:

$ sudo lslogins shs Username: shs UID: 1000 Gecos field: Sandra H-S Home directory: /home/shs Shell: /bin/bash No login: no Password is locked: no Password not required: no Login by password disabled: no Password encryption method: SHA-512 Primary group: shs GID: 1000 Supplementary groups: secteam,sudo Supplementary group IDs: 11,27 Last login: 14:44 Last terminal: pts/1 Last hostname: 192.168.0.13 Hushed: no Password expiration warn interval: 7 Password changed: 2020-Sep30 Maximum change time: 99999 Running processes: 67

查找失败的登录

要检测失败的登录,请使用- f选项(制作选项-uf.)如本例所示:

$ sudo lslogins -uf uid用户失败 - 登录失败 -  tty 0根1000岁obs 1001 nemo 1002 dbell 12:49 ssh:notty 1003鲨鱼1004蝌蚪1005鳗鱼1006 bugfarm 1008多萝西1012 jadep 1013我自己1017 gijoe

如果你想要一个失败登录的用户名列表,你可以这样做:

$ sudo lslogins -f |awk'{if($ 4)打印2美元;}'用户dbell

查看密码最后一次更改或即将过期的时间

使用——一个选择密码更改和到期详细信息的选项。

$ sudo lslogins -ua
UID用户PWD-WARN PWD-MIN PWD-MAX PWD-CHANGE PWD-EXPIR
0 root 7 99999 2020-Sep21
1000 shs 7 99999 2020- 9月30日
1001 NEMO 7 90 2020-DEC04
1002 bell 14 90 2020- 10月27日
1003鲨鱼7 10 90 2020年3月15日
1004蝌蚪799999 2019-1014 2020-110
1005鳗鱼7 99999 2020年1月18日
1006 bugfarm 7 99999 2020- 7月8日
1008 Dorothy 7 99999 2019-Jul08
1012翡翠7 99999 2019-Jul15
1013我自己7 99999 2020-1月18日
1017 Gijoe 7 99999 2020-1111

用途:作为字段分隔符

使用- c选择您的lslogins.细节结肠分离。如果您打算进一步处理此信息,这可能会有所帮助。

$ sudo lslogins -c |AWK -F“:”'$ 1> = 1000 {print}'UID:user:proc:pwd-lock:pwd-deny:last-login:gecos 1000:shs:68:0:0:14:44:sandra \X20H-S 1001:NEMO:0:0:0:20​​20-DEC05:NEMO \ X20DEMO ,,,,1002:DBELL:0:0 :: 1 :: Dory \ X20Bell 1003:鲨鱼:0:0:0 ::鲨鱼,,1004:蝌蚪:0:0:0 :: TAD \ x20pole ,,, 1005:鳗鱼:0:0:0 :: Ellen,El,1006:BugFarm:0:0:0 :: ub \ x20farm 1008:多萝西:0:0:1 :: Dorothy \ X20Lee 1012:JADEP:0:0:1 :: Jade \ X20Jones 1013:我自己:0:0:0 ::我的\ X20ESL 1017:Gijoe:0:0:0:: gi \ x20joe 65534:没有人:0:0:1 ::没有人

列表帐户运行超过10个进程

要快速列出有多少用户运行10个或更多进程,可以拥有awk的第3个字段lslogins.输出。幸运的是,字符串“PROC”在字母数字上也大于“10”,所以我不需要做任何额外的工作来保留正常的列标题。

$ sudo lslogins | awk '$3 >= 10 {print}' UID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS 0 root 152 00 root 1000 shs 68 00 14:44 Sandra H-S . sh . sh . sh . sh

总结

lslogins.命令为查看用户帐户提供了相当多的有用选项,但需要使用苏达或者以根用户身份登录以查看所有细节。请参阅手册页以了解有关此命令的更多信息。

加入网络世界社区足球竞猜app软件脸谱网linkedin.对自己最关心的话题发表评论。
有关的:

版权所有©2021.足球竞彩网下载

了解IT领导者是如何建造网络统一的。参加CSO的网络安全和信托峰会 - 7 / 20-7 / 22