一行命令找出 Linux 中所有真实用户
创始人
2025-07-12 12:20:46
0

哈喽大家好,我是咸鱼。

接触过 Linux 的小伙伴们都知道在 Linux (或者说类 Unix)中,有三种类型的用户:

  • 超级用户(UID 为 0):即 root 用户,拥有最高权限。
  • 系统用户(UID 为 1~999):系统内建用户,用于运行系统服务和守护进程。
  • 普通用户(UID 为 1000~60000):为了让使用者能够使用 Linux 系统资源而建立的,用户新建的账号一般就是普通账号。

那么现在问题来了,如何快速找出 Linux 中的真实用户(root 用户和普通用户)?

正式开始之前,我们先介绍一个工具——getent。

getent 命令

getent 其实是  "get entries"  的缩写,功能是用于查看系统数据库中(包括 /etc/passwd、/etc/shadow、/etc/group、/etc/hosts 等)的记录信息,它可以根据指定的数据库类型和键来检索条目。

(1) 查看本地的主机文件(/etc/hosts)中包含的指定域名信息。

[root@localhost ~]# getent hosts 127.0.0.1
127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4

(2) 查看本地密码文件(/etc/passwd)中指定用户信息。

[root@localhost ~]# getent passwd user1
user1:x:1000:1000::/home/user1:/bin/bash

(3) 从 /etc/group 数据库中检索指定组信息。

[root@localhost ~]# getent group user1
user1:x:1000:

我们回到问题上来:如何快速找出 Linux 中的真实用户(root 用户和普通用户)?

方法一:

getent passwd | awk -F: '$3 >= 1000 && $3 < 65344 || $3 == 0 {print $1}'

(1) getent passwd 用于检索 /etc/passwd 数据库中的所有用户信息

(2) awk 命令:

  • -F::指定字段分隔符为冒号 (:)
  • $3 >= 1000 && \$3 < 65344:表示判断第三个字段(用户 ID)大于或等于 1000 且小于 65344
  • \$3 == 0:表示判断第三个字段(用户 ID)等于 0
  • {print $1}:打印第一个字段(用户名)

总结一下:这条命令将检索 /etc/passwd 数据库中的所有用户信息,并打印出用户 ID 大于或等于 1000 且小于 65344,或者用户 ID 等于 0 的所有用户的用户名。

但是有的小伙伴看到这么一长串的命令就犯难了,"我文本三剑客掌握的不是很好,这条命令尤其是里面的判断看的我头都晕了,还有没有更简单的方法呢?"

方法二:

getent passwd 0 {1000..60000} | awk -F: '{print $1}'
  • getent passwd 0 {1000..60000} 命令用于检索系统中用户 ID 为 0 以及范围从 1000 到 60000 的所有用户信息
  • awk -F: '{print $1}:表示对前面输出的内容进行处理——打印第一个字段

这里补充一下:getent passwd 0 {1000..60000} 命令使用花括号扩展 ({1000..60000}) 来生成一个 0 和从 1000 到 60000 的数字序列。

然后,getent passwd 命令使用这些数字作为参数,以检索系统中用户 ID 为 0 和从 1000 到 60000 的用户信息。

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...