在日常的Linux系统管理和使用过程中,密码管理是一个绕不开的话题。很多朋友在刚接触Linux时都会好奇,能不能像在Windows里查看星号密码那样,直接看到明文密码?实际上,出于系统安全设计,Linux并不允许直接查看用户的登录密码,但系统或应用中保存的其他类型密码(如WiFi密码、数据库密码)在很多情况下是可以通过命令查看到的。今天我就以运维工程师的视角linux命令查看密码,为大家梳理几种在Linux下通过命令查看或找回各类密码的实用方法。
如何查看当前用户密码
在Linux系统中,用户的密码并不是以明文形式存储的,而是经过加密后保存在/etc/shadow文件中。因此,我们无法直接通过一条命令就查看到当前登录用户的原始密码。但是,我们可以查看这个加密后的密码字符串。使用命令sudo cat /etc/shadow | grep $(whoami),你会在输出结果中看到类似$6$...的一大串字符,这就是你密码的加密哈希值。这个值通常用于系统验证,即便你看到它,也无法反向破解出原始密码。

如果你是因为忘记了当前用户的密码而想“查看”,那唯一的方法就是重置它。如果你拥有sudo权限,可以使用sudo passwd $USER命令,按照提示输入两次新密码即可完成修改。如果没有sudo权限,那你就需要寻求系统管理员帮助,或者通过后续介绍的重置方法来处理了。
linux查看root密码的方法
root账号作为Linux系统中的超级管理员,其密码同样是被加密存储在/etc/shadow文件中的,无法直接查看明文。如果你当前拥有sudo权限的用户,可以非常方便地重置root密码。只需要在终端输入sudo passwd root,系统会提示你输入新的root密码并确认,这样就完成了对root密码的修改,相当于间接“查看”并拥有了掌控权。

另一种情况是,如果你已经登录了root账号,想查看自己的密码,这也是无法做到的。但你可以通过cat /etc/shadow | grep root来查看root密码的加密字符串。不过需要记住,这串字符的实际用途更多是用于系统的用户认证比对,对我们普通用户来说,知道它存在即可,重点是确保牢记密码或者掌握重置它的方法。
查看linux系统中保存的WiFi密码
很多Linux桌面用户会连接WiFi网络,系统通常会把连接过的WiFi密码保存下来linux系统应用,方便下次自动连接。要查看这些保存的WiFi密码,可以使用命令行工具。首先,通过sudo grep psk= /etc/NetworkManager/system-connections/*命令,可以快速列出所有已保存WiFi连接的配置文件以及其中包含的预共享密钥(即密码)。每个文件对应一个WiFi网络,psk=后面的内容就是明文密码。
如果你的系统使用的是wpa_supplicant来管理无线网络,那么密码通常保存在/etc/wpa_supplicant.conf文件中。你可以使用sudo cat /etc/wpa_supplicant.conf来查看该文件内容,找到对应网络的配置段落,其中psk=后面的值就是WiFi密码。这种方法对于排查网络连接问题或者在新设备上连接同一个WiFi时特别有用。
linux查看mysql数据库密码
对于运行在Linux上的MySQL或MariaDB数据库,密码的“查看”通常分为几种情况。最常见的是在应用程序的配置文件中,比如PHP网站的数据库连接配置文件(如WordPress的wp-config.php),里面会以明文形式存储数据库用户名和密码。你可以使用grep -i password /var/www/html/wp-config.php(根据实际路径修改)来快速定位到密码所在行。
另一种情况是,如果你已经登录了MySQL命令行,但忘记了某个用户的密码,可以通过查询user表来查看加密后的密码哈希值。在MySQL命令行中执行SELECT user, authentication_string FROM mysql.user;,结果中显示的authentication_string字段就是加密后的密码。如果你需要重置MySQL的root密码linux命令详解词典,则需要通过跳过授权表的方式启动MySQL服务来进行重置,这属于更高级的运维操作了。

如何找回linux登录密码
当我们忘记了Linux系统的登录密码时,不必着急重装系统,通过单用户模式或救援模式就可以轻松找回(即重置)。对于大多数使用GRUB引导的系统,重启后在启动菜单出现时,迅速按’e’键进入编辑模式。找到以linux或linux16开头的行,在末尾添加init=/bin/bash或single,然后按Ctrl+X或F10启动。系统会进入单用户模式,并直接以root权限打开一个bash shell。
此时,根文件系统通常是只读挂载的,你需要先执行mount -o remount,rw /命令使其可写linux命令查看密码,然后就可以使用passwd命令(直接输入passwd即可,无需指定用户名)来重置root账户密码了。完成后执行exec /sbin/init重启即可正常登录。这种方法能让你在忘记任何用户密码(包括root)的情况下重新获得系统访问权限,是每个Linux用户都应该掌握的急救技能。
查看linux配置文件中的密码

很多Linux服务和应用程序会将密码以明文或编码后的形式保存在其配置文件中。例如,FTP服务器(如vsftpd)、邮件服务器、版本控制工具等的用户认证信息,都可能出现在/etc/目录下的各种配置文件中。要查找这些密码,可以使用强大的grep命令进行递归搜索。比如,你想找出所有包含”pass”或”password”关键字的配置文件,可以执行sudo grep -r -E "pass|password" /etc/。
另外,像拨号连接的密码可能存储在/etc/ppp/chap-secrets或/etc/ppp/pap-secrets文件中;Samba服务的密码信息则可能在/etc/samba/smb.conf中查找。需要注意的是,操作这些文件通常需要root权限,并且在查找时要细心辨别,因为有些可能是注释掉的示例配置,有些才是真正生效的密码。掌握这些方法,能帮助你在系统迁移或故障排查时快速定位关键的认证信息。
你在日常使用Linux时,有没有因为找不到某个配置文件中的密码而抓狂的经历?欢迎在评论区分享你遇到的具体情况,或者你更想了解哪类密码的查看和找回技巧。如果觉得本文对你有帮助,请点赞并分享给更多需要的朋友!
