在Linux中查找用户帐户信息和登录详细信息的11种方法

简介:

在Linux中查找用户帐户信息和登录详细信息的11种方法

本文将介绍 11 种在 Linux 系统查找用户相关信息的有用方法。这里,我们会讲解在系统中获取一个用户账户详细信息、展示登录详细信息以及用户行为数据的命令。

如果你想要在 Linux 中添加用户,可以使用 useradd 工具,如果希望修改一个现有用户账户的属性,就可使用下面的指南中所提到的 usermod 命令:

关于 useradd 命令的 15 个实用示例

https://www.tecmint.com/add-users-in-linux/

关于 usermod 命令的 15 个实用示例

https://www.tecmint.com/usermod-command-examples/

首先,我们会来看看如何使用命令查找一个用户的账户信息,然后再来跟大家讲解查看登录详细信息的那些命令。

1. id 命令

id 是用来展示一个实时活动用户以及组 ID 的命令行工具,如下所示:

 
 
  1. $ id tecmint uid=1000(tecmint) gid=1000(tecmint) groups=1000(tecmint),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare) 

2. groups 命令

groups 命令可以被用来展示一个用户所归属的所有组的信息,像下面这样:

 
 
  1. $ groups tecminttecmint : tecmint adm cdrom sudo dip plugdev lpadmin sambashare 

3. finger 命令

finger 命令可以被用来查找 Linux 上的一个用户的信息。在许多 Linux 系统上,它并没被预装。

想要在你的系统上安装它,可以在终端里运行这个命令:

 
 
  1. $ sudo apt install finger#Debian/Ubuntu 
  2.  
  3. $ sudo yum install finger#RHEL/CentOS 
  4.  
  5. $ sudo dnf install finger#Fedora 22+  

它会显示出一个用户的真实名称、主目录、shell,登录的名称以及时间,还有如下所示的许多信息:

 
 
  1. $ finger tecmintLogin: tecmint        Name: TecMint 
  2. Directory: /home/tecmint            Shell: /bin/bash 
  3. On since Fri Sep 22 10:39 (IST) on tty8 from :0 
  4. 2 hours 1 minute idle 
  5. No mail. 
  6. No Plan.  

4. getent 命令

getent 是一个可以从特定系统数据库的 Name Service Switch (NSS 名字服务交换器) 库获取到信息的命令行工具。

要获取一个用户账户的详细信息,可以像下面这样使用 passwd 数据库和 username 来做到。

 
 
  1. $ getent passwd tecminttecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash 

5. grep 命令

grep 命令是一个强大的模式搜索工具,可以在绝大多数 Linux 系统上使用。你可以用它来从系统账户文件 /etc/passwd 中查找出关于一个特定用户的信息,如下所示:

 
 
  1. $ grep -i tecmint /etc/passwdtecmint:x:1000:1000:TecMint,,,:/home/tecmint:/bin/bash 

6. lslogins 命令

lslogins 命令会展示出系统中现有用户的相关信息, -u 标记可用来标识只展示用户的账户。

 
 
  1. $ lslogins -uUID USER       PROC PWD-LOCK PWD-DENY LAST-LOGIN GECOS 
  2. 0 root        144                              root 
  3. 1000 tecmint      70                     10:39:07 TecMint,,, 
  4. 1001 aaronkilik    0                               
  5. 1002 john          0                              John Doo  

7. users 命令

users 命令会展示当前已经登录系统的所有用户的用户名,像这样:

 
 
  1. $ userstecmint 
  2.  
  3. aaron  

8. who 命令

who 命令可以用来展示那些登录了系统的用户,包括了它们是从哪里连接到系统上来的终端信息。

 
 
  1. $ who -utecmint tty8 2017-09-22 10:39 02:09 2067 (:0) 

9. w Command

w 命令会展示出所有登录了系统的用户,还有它们都做了些什么事情。

 
 
  1. $ w12:46:54 up  2:10,  1 user,  load average: 0.34, 0.44, 0.57 
  2. USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT 
  3. tecmint  tty8     :0               10:39    2:10m  4:43   0.46s cinnamon-sessio  

10. last 或者 lastb 命令

last/lastb 命令会展示一个最近登录系统的用户列表。

 
 
  1. last ORlast -a #show hostname on the last column 

最近登录系统的用户列表

 
 
  1. tecmint  tty8         Fri Sep 22 10:39    gone - no logout  :0 
  2. reboot   system boot  Fri Sep 22 10:36   still running      4.4.0-21-generic 
  3. tecmint  tty8         Thu Sep 21 10:44 - down   (06:56)     :0 
  4. reboot   system boot  Thu Sep 21 10:42 - 17:40  (06:58)     4.4.0-21-generic 
  5. tecmint  tty8         Wed Sep 20 10:19 - down   (06:50)     :0 
  6. reboot   system boot  Wed Sep 20 10:17 - 17:10  (06:52)     4.4.0-21-generic 
  7. tecmint  pts/14       Tue Sep 19 15:15 - 15:16  (00:00)     tmux(14160).%146 
  8. tecmint  pts/13       Tue Sep 19 15:15 - 15:16  (00:00)     tmux(14160).%145 
  9. ...  

要是想显示那些在特定时间访问过系统的用户,可以像下面这样使用 -p 选项:

 
 
  1. last -ap nowtecmint  tty8         Fri Sep 22 10:39    gone - no logout  :0 
  2. reboot   system boot  Fri Sep 22 10:36   still running      4.4.0-21-generic 
  3. wtmp begins Fri Sep  1 16:23:02 2017  

11. lastlog 命令

lastlog 命令可以用来查找最近登录那些或者某个特定用户的详细信息,如下所示:

 
 
  1. $ lastlog OR$ lastlog -u tecmint #show lastlog records for specific user tecmint 

最近登录用户的记录:

 
 
  1. Username         Port     From             Latest 
  2. root                                       **Never logged in** 
  3. kernoops                                   **Never logged in** 
  4. pulse                                      **Never logged in** 
  5. rtkit                                      **Never logged in** 
  6. saned                                      **Never logged in** 
  7. usbmux                                     **Never logged in** 
  8. mdm                                        **Never logged in** 
  9. tecmint          pts/1    127.0.0.1        Fri Jan  6 16:50:22 +0530 2017 
  10. ..  

如果你还知道其它的什么命令行技巧或者是某个查看用户详情的命令,可以跟我们共享一下哦。 


原文发布时间为:2017-10-11 

本文作者:OSC 协作翻译

本文来自云栖社区合作伙伴“51CTO”,了解相关信息可以关注。

相关文章
|
27天前
|
Linux 网络安全
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
linux免密登录报错 Bad owner or permissions on /etc/ssh/ssh_config.d/05-redhat.conf
27 1
|
27天前
|
存储 Linux
linux查看系统版本、内核信息、操作系统类型版本
linux查看系统版本、内核信息、操作系统类型版本
58 9
|
27天前
|
关系型数据库 MySQL Linux
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
24 0
|
5天前
|
Ubuntu Unix Linux
|
7天前
|
弹性计算 运维 Shell
统计Linux 进程相关数量信息
【4月更文挑战第29天】
6 0
|
7天前
|
弹性计算 运维 Shell
统计 Linux 进程相关数量信息
【4月更文挑战第29天】
7 1
|
11天前
|
人工智能 Linux
Linux查找大文件的方法
Linux查找大文件的方法
|
12天前
|
安全 Unix Linux
基于MobaXterm工具的Linux远程SSH登录
本文介绍了如何使用 MobaXterm 进行 Linux 远程登录。首先,从官方网站下载并安装 MobaXterm。启动后,创建新的远程会话,选择 SSH 类型,输入服务器 IP、主机名和端口。接着,提供用户名和密码进行连接。成功后,即可使用远程终端执行命令。此外,文章还提到了其他常用的 Linux 远程登录工具,如 PuTTY、OpenSSH、SecureCRT 和 Xshell,强调了选择工具时应考虑个人偏好和安全需求。
|
16天前
|
存储 Linux
如何查看Linux设备的硬盘信息?
【4月更文挑战第12天】在Linux系统中,查看硬盘信息的常用命令。
24 4
|
17天前
|
数据可视化 数据挖掘 Linux
如何在Linux部署DataEase数据分析服务并实现无公网IP远程分析内网数据信息
如何在Linux部署DataEase数据分析服务并实现无公网IP远程分析内网数据信息