想象一下这样的场景:你刚接手公司的Linux服务器,需要检查系统中有哪些用户账户,可能是为了安全审计,或是清理离职员工的账号,又或者只是想了解当前系统的用户情况,这时候,掌握几个简单的命令就能让你事半功倍。
在Linux系统中,用户信息通常存储在几个关键文件中,而系统也提供了多种命令来查询这些信息,下面我们就来详细介绍几种查看系统中所有用户列表的方法。
/etc/passwd
是Linux系统存储用户账户信息的核心文件,虽然它叫"passwd",但现代系统中密码其实并不直接存储在这里(而是放在/etc/shadow
中),但这个文件仍然包含所有用户的基本信息。
cat /etc/passwd
每行输出代表一个用户,格式如下:
username:x:UID:GID:description:home_directory:shell
john:x:1001:1001:John Doe:/home/john:/bin/bash
如果你只想看用户名列表,可以使用:
cut -d: -f1 /etc/passwd
getent
是一个更通用的命令,可以查询各种系统数据库,包括用户信息,它的优势在于可以兼容LDAP等网络用户数据库。
getent passwd
同样,如果只需要用户名:
getent passwd | cut -d: -f1
如果你使用的是bash shell,compgen
命令可以列出所有可用的命令、别名和用户:
compgen -u
这个命令会返回一个干净的用户名列表,非常简洁。
虽然不是最准确的方法,但查看/home目录下的子目录也能给你一些线索:
ls /home
注意:有些系统用户可能没有/home下的目录,而有些非登录用户也可能在这里有目录。
对于喜欢用awk的用户,这个命令很实用:
awk -F: '{print $1}' /etc/passwd
在Linux中,通常UID小于1000的是系统用户,大于等于1000的是普通用户,你可以这样筛选:
awk -F: '$3 >= 1000 {print $1}' /etc/passwd
或者只看系统用户:
awk -F: '$3 < 1000 {print $1}' /etc/passwd
/etc/shadow
文件 查看Linux系统中的用户列表有多种方法,从简单的/etc/passwd
文件查看,到使用getent
、compgen
等命令,根据你的具体需求选择合适的方法:
cat /etc/passwd
或 getent passwd
cut -d: -f1 /etc/passwd
或 compgen -u
掌握这些命令后,你就能轻松管理Linux系统中的用户账户了。
本文由 军雅媚 于2025-08-02发表在【云服务器提供商】,文中图片由(军雅媚)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/514475.html
发表评论