当前位置:首页 > 问答 > 正文

用户管理|账号查询|linux如何查看系统中的所有用户列表

🔍 Linux如何查看系统中的所有用户列表?用户管理小技巧分享

📢 最新动态(2025年8月)
Linux内核团队优化了用户权限管理机制,部分发行版(如Ubuntu 25.04)新增了更直观的用户查询工具,不过传统命令依然通用,掌握基础方法才是王道!


🐧 为什么要查看所有用户?

无论是排查异常账号、管理服务器权限,还是单纯好奇系统里有哪些“住户”,学会查看用户列表都是Linux用户的必备技能。


💻 4种常用方法(附详细操作)

方法1:直接读取/etc/passwd文件

所有用户信息都记录在这个文件里,用catless即可查看:

cat /etc/passwd

输出示例:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
yourname:x:1000:1000:Your Name,,,:/home/yourname:/bin/bash

📝 小贴士

用户管理|账号查询|linux如何查看系统中的所有用户列表

  • 每行用冒号分隔,格式为用户名:密码占位符:UID:GID:描述:家目录:登录Shell
  • 普通用户UID通常≥1000(不同发行版可能有差异)

方法2:用getent命令(推荐✨)

更现代的查询方式,兼容本地用户和LDAP等外部用户库:

getent passwd

优势
✅ 自动整合所有用户来源
✅ 输出格式与/etc/passwd一致


方法3:compgen -u(仅显示用户名)

适合快速获取纯用户名列表:

compgen -u

输出示例:

用户管理|账号查询|linux如何查看系统中的所有用户列表

root
daemon
yourname
...

方法4:结合awk提取关键信息

如果想只查看用户名和UID:

awk -F: '{print $1 " (UID:" $3 ")"}' /etc/passwd

输出示例:

root (UID:0)
daemon (UID:1)
yourname (UID:1000)

🚨 注意事项

  1. 需要管理员权限吗?
    • 查看基本信息不需要sudo,但修改配置需要
  2. 为什么有些用户不能登录?
    • 系统服务账号的Shell通常是/usr/sbin/nologin
  3. 隐藏用户?

    检查UID异常(如0)或家目录可疑的用户


🎯 进阶技巧

  • 统计用户数量
    getent passwd | wc -l
  • 筛选可登录用户
    grep -v "/usr/sbin/nologin" /etc/passwd | grep -v "/bin/false"

🌟 一句话总结

getent passwd走天下,/etc/passwd保平安,想偷懒就用compgen -u!”

用户管理|账号查询|linux如何查看系统中的所有用户列表

下次维护服务器时,不妨试试这些命令吧!🐧💡

发表评论