在 Linux 系统中,了解用户账户信息和登录信息对于系统管理和安全非常重要。本文将介绍在 Linux 9 中查看用户账户信息、登录详情、以及在系统中执行的操作的 12 种常用方法。
如需在 Linux 中创建用户,可以使用 useradd 命令;更改已创建账户的属性linux查看有哪些用户,可以使用 usermod 命令。
本章包含的主题如下:
38.1 id
id 是一个简单的命令行实用程序linux查看有哪些用户,用于显示当前用户或指定用户的用户及组的 ID 信息:
[aiops@automate-host ~]$ id
uid=1000(aiops) gid=1000(aiops) groups=1000(aiops),10(wheel)
[aiops@automate-host ~]$ id root
uid=0(root) gid=0(root) groups=0(root)
38.2 groups
groups 命令显示用户所属的组,包括主组和附加组:
[aiops@automate-host ~]$ groups aiops
aiops : aiops wheel
38.3 pinky
pinky 命令用于在 Linux 系统中搜索用户信息,包括登录名、真实姓名、终端、空闲时间、登录时间和其他相关细节:
[aiops@automate-host ~]$ pinky aiops
Login Name TTY Idle When Where
aiops aiops pts/1 2023-07-09 21:57 10.211.55.2
38.4 getent
getent 命令用于从各种数据库(包括系统用户和组数据库)检索信息。可用于检索存储在数据库文件(如 /etc/passwd、/etc/group、/etc/hosts 等)中的用户、组、主机、网络、协议和其他系统实体的信息。
通过 passwd 数据库和用户名,获取用户的帐户详细信息,如下所示:
[aiops@automate-host ~]$ getent passwd aiops
aiops:x:1000:1000:aiops:/home/aiops:/bin/bash
38.5 grep
grep 是一个功能强大的命令,用于搜索文件中的模式或特定文本。它根据匹配模式从文本中过滤和提取行。“grep“ 即 “全局正则表达式打印”(Global Regular Expression Print)。
可以使用 grep 从系统帐户文件中查找指定用户的信息:/etc/passwd,如下所示:
[aiops@automate-host ~]$ grep -i aiops /etc/passwd
aiops:x:1000:1000:aiops:/home/aiops:/bin/bash
38.6 lslogins
lslogins 命令显示系统中已知用户的信息,包括用户名、UID(用户 ID)、GID(组 ID)、主目录、shell、上次登录时间等详细信息,具体取决于所使用的选项和系统配置:
[aiops@automate-host ~]$ lslogins -u aiops
Username: aiops
UID: 1000
Gecos field: aiops
Home directory: /home/aiops
Shell: /bin/bash
No login: no
Primary group: aiops
GID: 1000
Supplementary groups: wheel
Supplementary group IDs: 10
Last login: 21:57
Last terminal: pts/1
Last hostname: 10.211.55.2
Hushed: no
Running processes: 8
Last logs:
22:13 sudo[1807]: aiops : TTY=pts/1 ; PWD=/home/aiops ; USER=root ; COMMAND=/bin/dnf install finger
22:13 sudo[1807]: pam_unix(sudo:session): session opened for user root(uid=0) by aiops(uid=1000)
22:13 sudo[1807]: pam_unix(sudo:session): session closed for user root
[aiops@automate-host ~]$ lslogins -u
UID USER PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS
0 root 117 11:18 root
1000 aiops 8 21:57 aiops
38.7 users
users 命令用于显示 Linux 系统上当前登录用户的列表:
[aiops@automate-host ~]$ users
aiops
38.8 who
who 命令显示登录到系统的用户,包括用户名、终端、登录时间和用户登录的远程主机:
[aiops@automate-host ~]$ who -u
aiops pts/1 2023-07-09 21:57 . 1707 (10.211.55.2)
38.9 w
w 命令显示当前登录用户及其活动的摘要,其中显示的登录会话,包括用户名、终端、登录时间、空闲时间、JCPU(所有进程使用的总 CPU 时间)、PCPU(当前进程使用的 CPU 时间)以及终端上运行的命令或进程:
[aiops@automate-host ~]$ w
22:31:21 up 11:14, 1 user, load average: 0.00, 0.00, 0.00
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
aiops pts/1 21:57 0.00s 0.13s 0.00s w
38.10 last
last 命令显示最近登录会话的列表,包括已登录的用户、登录时间以及用于登录的终端或远程主机的信息:
[aiops@automate-host ~]$ last
aiops pts/1 10.211.55.2 Sun Jul 9 21:57 still logged in
aiops pts/0 10.211.55.2 Sun Jul 9 11:18 - 22:29 (11:10)
...
若要显示指定时间登录的所有用户,需要使用 -p 选项:
[aiops@automate-host ~]$ last -ap now
aiops pts/1 Sun Jul 9 21:57 still logged in 10.211.55.2
reboot system boot Sun Jul 9 11:16 still running 5.14.0-162.18.1.el9_1.aarch64
wtmp begins Sat Mar 18 12:24:04 2023
38.11 lastb
lastb 命令用于显示系统上上次失败的登录尝试的列表。它从记录失败登录尝试的系统日志文件中读取,通常存储在 /var/log/btmp 中:
[aiops@automate-host ~]$ sudo lastb
38.12 lastlog
lastlog 命令用于查找系统上所有用户或特定用户的最新登录信息的详细信息,该命令提供有关每个用户上次登录时间和位置的详细信息:
[aiops@automate-host ~]$ lastlog -u aiops
Username Port From Latest
aiops pts/0 10.211.55.2 Sun Jul 9 22:35:53 +0800 2023
38.13 总结
本文介绍了在 Linux 系统上查找用户和登录详情的各种方法。欢迎通过公众号提出问题或分享你的想法。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: Lgxmw666