登录
首页 >  文章 >  linux

Linux查看用户列表的几种方法

时间:2026-04-21 13:54:55 454浏览 收藏

想快速掌握Linux系统中所有用户账户的查看技巧?本文全面详解五种高效实用的方法——从直接解析/etc/passwd文件、使用Bash内置compgen命令,到调用标准接口getent、systemd专属lslogins工具,再到需root权限但更精准的/etc/shadow分析,每种方法都附带清晰命令示例和针对性过滤技巧(如排除UID

Linux怎么查看用户列表_Linux查看所有用户账户方法教程【基础】

如果您需要在Linux系统中获取当前所有用户账户的完整列表,则可能是由于权限管理、系统审计或用户排查等需求。以下是查看用户列表的多种方法:

一、读取/etc/passwd文件

/etc/passwd 是存储系统用户基本信息的核心文件,每一行代表一个用户,包含用户名、UID、GID、家目录、默认Shell等字段。直接读取该文件可列出全部用户账户。

1、打开终端,输入命令:cat /etc/passwd

2、若仅需提取用户名列,使用 cut 命令过滤第一字段:cut -d: -f1 /etc/passwd

3、为排除系统账户(UID awk -F: '$3 >= 1000 && $3 != 65534 {print $1}' /etc/passwd

二、使用compgen命令

compgen 是 Bash 内置命令,可用于生成可能的命令补全项,其中 -u 选项专门用于枚举当前 shell 环境中已知的所有用户名。

1、在终端中执行:compgen -u

2、如需按字母顺序排序输出,追加 sort 命令:compgen -u | sort

三、使用getent命令查询用户数据库

getent 命令可从系统数据库(包括本地文件和网络服务如 LDAP)中检索用户信息,其结果与 /etc/passwd 一致但更符合标准接口调用习惯。

1、执行基础查询:getent passwd

2、仅显示用户名:getent passwd | cut -d: -f1

3、筛选非系统用户(UID ≥ 1000):getent passwd | awk -F: '$3 >= 1000 {print $1}'

四、使用lslogins命令(systemd系统)

lslogins 是 systemd 提供的工具,专用于显示系统中所有登录账户及其状态、UID、GID、主目录等详细信息,适用于较新发行版。

1、运行命令查看全部用户:lslogins -u

2、仅显示用户名与UID,并排除伪用户:lslogins -u -o USER,UID --noheadings | awk '$2 >= 1000 {print $1}'

五、使用awk遍历/etc/shadow文件(需root权限)

/etc/shadow 文件存储用户密码哈希及账户过期策略,其用户名字段与 /etc/passwd 一一对应;读取该文件可确认实际启用的登录账户(尤其当某些用户被禁用时)。

1、以 root 权限执行:sudo awk -F: '{print $1}' /etc/shadow

2、合并 /etc/passwd 中的 UID 判断以排除系统账户:sudo awk -F: '$3 >= 1000 {print $1}' /etc/passwd

理论要掌握,实操不能落!以上关于《Linux查看用户列表的几种方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>