插件窝 干货文章 linux怎么查看所有用户

linux怎么查看所有用户

用户 passwd bash 查看 710    来源:    2025-05-02

在Linux系统中,可以通过多种方式查看所有用户。以下是常用的方法:


1. 查看 /etc/passwd 文件

所有本地用户信息存储在 /etc/passwd 文件中,每行代表一个用户。

cat /etc/passwd

或使用 less 分页查看:

less /etc/passwd

输出格式
username:x:UID:GID:description:home_directory:shell
- x 表示密码已加密(实际密码存储在 /etc/shadow 中)。 - 普通用户的UID通常从1000开始,系统用户(如rootdaemon)的UID小于1000。


2. 使用 getent 命令

getent 可以查看包括本地和网络(如LDAP)用户的信息:

getent passwd

输出格式与 /etc/passwd 相同。


3. 仅列出用户名

通过 awkcut 提取用户名(第一列):

cut -d: -f1 /etc/passwd

awk -F: '{print $1}' /etc/passwd

4. 查看当前登录用户

  • who:显示当前登录的用户及终端信息。 bash who
  • w:显示更详细的登录用户及活动。 bash w
  • users:仅列出登录用户名。 bash users

5. 查看用户组信息

  • 查看所有组(包含用户组): bash cat /etc/group
  • 查看特定用户的所属组: bash groups <username>bash id <username>

6. 区分系统用户和普通用户

  • 普通用户:UID ≥ 1000(根据系统配置可能不同)。
  • 系统用户:UID < 1000(用于服务或系统进程)。

过滤普通用户

awk -F: '$3 >= 1000 {print $1}' /etc/passwd

过滤系统用户

awk -F: '$3 < 1000 {print $1}' /etc/passwd

7. 检查用户是否使用密码登录

查看 /etc/shadow 文件(需sudo权限):

sudo cat /etc/shadow

如果用户密码字段为!*,表示该用户无法通过密码登录。


注意事项

  • 需要管理员权限才能查看某些敏感文件(如/etc/shadow)。
  • 网络用户(如LDAP/NIS)可能需要通过 getent passwd 查看。

根据需求选择合适的方法即可。