哈喽大家好,我是咸鱼。
接触过 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
- $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 的用户信息。
以上是一行命令找出 Linux 中所有真实用户的详细内容。更多信息请关注PHP中文网其他相关文章!

如果HP Smart会自动在Windows 11/10/服务器上安装该怎么办? Microsoft发布了一个实用程序,您可以在线获取KB5034510:Microsoft打印机元数据疑难解答工具以修复自动安装错误。继续阅读此php.cn帖子以查找

NetWlv64.Sys蓝屏是试图启动Windows 11/10操作系统时的常见错误。如何解决此BSOD问题以使PC正常工作?在这篇文章中,您可以找到PHP.CN的一些有用的解决方案。

如果您同时执行多个程序,则调整窗口大小会有所帮助。你们中的大多数人都必须尝试调整日常计算机使用中的窗口大小。此php.cn帖子编制了几种有用的方法,以告诉您如何调整窗口大小。

您是否正在寻找一种禁用Windows 10/11中本地帐户的安全问题的方法?在PHP.CN的这篇文章中,我们将引导您了解如何通过本地组策略编辑和注册表来防止本地帐户使用安全问题

Windows 11 Insider Preview Build 23486宣布将提出一个新功能,即Passkey设置,以改善使用密码的体验。您可以在计算机上创建并添加新的Passkey,并删除其中任何一个。这个php.cn帖子带你走

试图登录OneDrive时,您是否患有“ OneDrive签署您的问题”错误?现在,在PHP.CN的这篇文章中,我们将带您解决如何解决此Onedrive登录问题的方法。

Windows 11和Windows 10桌面图标重叠?在PHP.CN的这篇文章中,我们将为您提供一些有用的解决方案,以帮助您摆脱此Windows桌面图标错误。

OneDrive向您展示了两次使用相同OnEdrive图标的文件资源管理器中的文件夹。那是OneDrive上发生的一些错误。您可以采用有效的方法来修复文件资源管理器中两个OneDrive文件夹的情况。这篇有关PHP.CN的帖子将为您提供帮助


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。