如何查看Linux服务器的用户列表?

常见问题

如何查看Linux服务器的用户列表?

2025-03-31 17:05


Linux服务器用

                                            

Linux服务器用户管理全攻略:5种查看用户列表的实用方法

作为Linux系统管理员,掌握用户管理是基本功。本文将详细介绍5种查看Linux服务器用户列表的方法,涵盖从基础命令到高级技巧,帮助您全面掌握用户管理技能。

一、使用/etc/passwd文件查看所有用户

这是最基础也是最全面的方法:

cat /etc/passwd

每行记录包含7个字段,用冒号分隔:

  • 用户名
  • 密码(通常显示为x)
  • 用户ID(UID)
  • 组ID(GID)
  • 用户描述信息
  • 主目录
  • 登录shell

提示:可以使用cut -d: -f1 /etc/passwd只显示用户名列表。

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

getent命令可以查询各种名称服务数据库:

getent passwd

与直接查看/etc/passwd的区别在于,getent会查询所有配置的用户数据库源,包括LDAP、NIS等。

三、使用compgen命令查看可登录用户

compgen是bash内置命令,可以列出可登录用户:

compgen -u

这个命令特别适合在脚本中使用,因为它只返回简单的用户名列表。

四、使用who命令查看当前登录用户

要查看当前哪些用户已经登录系统:

who

或者更详细的版本:

w

这些命令会显示登录用户名、终端、登录时间等信息。

五、使用last命令查看用户登录历史

last命令可以查看用户登录历史记录:

last

加上用户名可以查看特定用户的登录历史:

last username

高级技巧:用户过滤与分析

1. 查找UID大于1000的普通用户:

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

2. 查找没有有效shell的用户(无法登录):

grep -v '/bin/bash' /etc/passwd | cut -d: -f1

3. 统计用户数量:

wc -l /etc/passwd

总结

掌握查看Linux用户列表的方法对于系统管理至关重要。根据不同的场景需求,可以选择:

  1. 需要完整用户信息 → 使用/etc/passwd或getent
  2. 只需要用户名列表 → 使用compgen或cut命令
  3. 查看登录状态 → 使用who或w命令
  4. 分析登录历史 → 使用last命令

建议将这些命令加入您的日常管理工具箱,定期检查系统用户情况,确保服务器安全。

安全提示

  • 定期检查/etc/passwd文件权限应为644
  • 注意UID为0的非root用户
  • 禁用不再使用的用户账号
  • 监控异常登录活动


标签:
  • Linux用户管理
  • 查看Linux用户
  • 服务器用户列表
  • 莱卡云