如何在 bash 中查看我当前的用户/密码?

Jos*_*cio 17 linux bash password

我目前正在 Windows 上的 Ubuntu 上安装 Bash。

我安装了 Bash 并正常设置了用户。一切正常,但我不想继续执行sudo每个命令。我卸载然后重新安装了“Wwindows 上的 Ubuntu 上的 Bash”

lxrun /install /y
Run Code Online (Sandbox Code Playgroud)

它保存了用户名,但没有保存以前的密码。我正在尝试查看我正在使用的用户的当前密码。

如何在 Bash 中查看我的用户的密码?

小智 19

您实际上不能,您的密码是散列的,并且只是一种单向解码。

总结一下,想象一下每次你尝试登录时,它会做类似的事情

if hash('password') == currentHash;
do grantAccess();
Run Code Online (Sandbox Code Playgroud)

每次你保存密码时,都会做

hashedPass = hash('password');
writeOnShadowFile('hashedPass')
Run Code Online (Sandbox Code Playgroud)

这是通过散列的安全标准避免存储真实密码,而是存储函数的结果,并以这种方式对其进行评估。散列函数的目的是在数据丢失的情况下进行大量的原始值转换,并且由于数据丢失,几乎不可能知道您的原始密码。

您可以使用usermod -p <password> <user>或轻松更改密码passwd <user>。


小智 11

无法查看操作系统用户密码是什么。密码以散列形式存储。你只能检查你是否知道一个正确的。这不仅会构成安全威胁,而且还应定期更改密码。而且新的不应该和旧的太相似。但是在家庭环境中(与专业环境相反),您不应该被命令行所困扰。


mau*_*wns 5

你不能!有充分的理由。这将是一个巨大的安全漏洞。您可以使用passwd命令更改密码(请参阅man passwd)。

如果您是 root 用户,则可以更改所有用户的密码。