首先查看/etc/passwd文件或使用getent命令获取用户列表,再通过过滤Shell类型筛选可登录用户。

如果您需要了解系统中存在哪些用户账户,可以通过查看系统配置文件或使用特定命令来获取完整的用户列表。这些方法可以帮助您快速识别本地用户及其基本信息。
本文运行环境:Dell XPS 13,Ubuntu 22.04
一、查看 /etc/passwd 文件内容
该文件存储了系统中所有用户的基本信息,每行代表一个用户条目,包含用户名、UID、GID、家目录和默认Shell等字段。通过读取此文件可直接获取用户列表。
1、打开终端并输入以下命令:cat /etc/passwd。
2、按回车执行后,系统将输出所有用户的信息列表。
3、若仅需显示用户名,可使用命令:cut -d: -f1 /etc/passwd 来提取第一列数据。
二、使用 getent 命令查询用户数据库
getent 是一个通用的库调用查询工具,能够从 Name Service Switch(NSS)源中检索用户信息,不仅限于本地文件,还支持 LDAP、NIS 等网络服务。
1、在终端中执行命令:getent passwd 可列出所有可用用户。
2、如只想查看特定用户的记录,可在命令后加上用户名,例如:getent passwd alice。
3、同样地,若只提取用户名列表,可结合 cut 命令使用:getent passwd | cut -d: -f1。
三、筛选具有登录权限的用户
并非所有用户都能登录系统,部分为系统服务专用账户。通过过滤 Shell 类型可以识别出允许交互式登录的用户。
1、运行命令:grep '/bin/bash' /etc/passwd 或 grep '/bin/sh' /etc/passwd 来查找默认 Shell 为交互式 Shell 的用户。
2、进一步提取用户名可使用组合命令:awk -F: '$7 ~ /(bash|sh)$/ {print $1}' /etc/passwd。
3、此方法有助于区分普通用户与系统服务账户。










