最直接的方法是读取/etc/passwd文件,使用cat /etc/passwd查看所有用户信息,cut -d: -f1 /etc/passwd提取用户名,getent passwd推荐用于LDAP/NIS环境,awk -F: ‘$3 >= 1000 && $3 < 65534' /etc/passwd可筛选普通用户。

在Linux中查看系统上的所有用户,最直接的方法是读取 /etc/passwd 文件,这个文件存储了所有用户账户的基本信息。
通过 /etc/passwd 查看所有用户
/etc/passwd 是系统中每个用户账户的配置文件,每行代表一个用户,格式如下:
用户名:密码占位符:UID:GID:用户描述:家目录:登录Shell
要列出所有用户,可以使用以下命令:
cat /etc/passwd —— 显示全部内容 cut -d: -f1 /etc/passwd —— 只提取用户名 getent passwd —— 使用系统数据库接口获取用户(推荐,尤其在使用LDAP/NIS时)
筛选普通用户
系统用户(如 daemon、nobody)通常 UID 较低,普通用户的 UID 一般从1000开始(具体取决于发行版)。可以通过以下方式过滤出普通用户:
awk -F: ‘$3 >= 1000 && $3 getent passwd | awk -F: ‘$3 >= 1000 && $3
使用其他辅助命令
虽然不常用,但也可以结合其他工具确认当前存在的用户:
compgen -u —— 在 bash 中列出所有用户(依赖于shell补全功能) dscl . list /Users —— 仅适用于 macOS,Linux 不支持
基本上就这些。最可靠且通用的方式是使用 cut -d: -f1 /etc/passwd 或结合 awk 过滤 UID。如果系统集成了外部目录服务,优先使用 getent passwd。方法简单,但注意区分系统账户和普通用户。
以上就是如何在Linux中列出所有用户?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/4417.html
微信扫一扫
支付宝扫一扫