本文是CentOS系统用户管理指南,主要包含两个核心内容:一是介绍如何通过系统命令查看所有用户名;二是深入解析密码机制,说明密码以加密哈希形式存储于/etc/shadow文件中,而非明文,理解这些机制有助于管理员更好地维护系统安全与权限。在CentOS系统中,系统管理员经常需要查看当前系统中有哪些用户,或者需要管理这些用户的权限,对于许多初学者来说,最常见的问题就是:“如何查看系统中所有的用户名,以及如何找到这些用户的密码?”
本文将详细解答这两个问题,并澄清关于Linux密码存储的重要安全机制。
如何查看所有用户名
在CentOS中,用户信息主要存储在 /etc/passwd 文件中,要列出系统中所有的用户名,可以通过读取该文件并提取用户名字段来实现。

使用 cut 命令
这是最常用的方法,通过指定冒号(:)为分隔符,提取第一列(用户名)。
cut -d: -f1 /etc/passwd
使用 awk 命令
awk 是一个强大的文本处理工具,同样可以提取第一列。
awk -F: '{print $1}' /etc/passwd
使用 getent 命令
getent 命令可以查询Name Service Switch数据库,包括用户信息。
getent passwd | cut -d: -f1
注意: 如果系统配置了 NIS 或 LDAP 等远程用户服务,getent 可能会显示更多系统原本没有记录的用户。
密码是什么?如何查看?
这是一个非常关键的安全概念:在CentOS(以及大多数Linux系统)中,密码从来不会以明文形式存储。
如果你试图直接查看密码文件,你只会看到一串加密后的乱码(哈希值),在 /etc/shadow 文件中,用户名后面的密码字段看起来像这样:
$6$AbCdEfGhIjKlMnOpQrStUvWxYz$XyZ...
这串字符是经过加密算法(通常是 SHA-512)处理后的结果,系统在验证用户登录时,会将用户输入的密码也进行同样的加密处理,然后与 /etc/shadow 中存储的哈希值进行比对。
如何查看密码文件?
如果你想查看密码存储的文件位置,可以使用以下命令:
cat /etc/shadow
警告: 该文件包含高度敏感的信息,只有 root 用户拥有读取权限,普通用户无法查看。
如何重置或修改用户密码
既然无法直接“查看”密码,如果你忘记了某个用户的密码,唯一合法的方法是重置它,这需要 root 权限。
修改当前用户的密码
如果你是 root 用户或拥有 sudo 权限,你可以直接修改自己的密码:
passwd
系统会提示你输入当前密码,然后输入两次新密码。
修改其他用户的密码
如果你想为其他用户(testuser)设置密码,需要使用 sudo:
sudo passwd testuser
系统会提示你输入当前 root 密码,然后为 testuser 设置新密码。
- 查看用户名:使用
cut -d: -f1 /etc/passwd即可列出系统中所有的用户。 - 查看密码:不存在,密码在
/etc/shadow中以加密哈希值的形式存储,出于安全考虑,无法直接查看明文密码。 - 修改密码:如果忘记密码,请使用
sudo passwd [用户名]命令进行重置。
理解这一点对于维护CentOS系统的安全性至关重要,保护 /etc/shadow 文件的权限,并定期更换强密码,是保障服务器安全的基础。

