我目前正在 Windows 上的 Ubuntu 上安装 Bash。
我安装了 Bash 并正常设置了用户。一切工作正常,但我不想继续执行sudo
每个命令。我卸载然后重新安装了“Bash on Ubuntu on Wwindows”
lxrun /install /y
它保存了用户名,但没有保存以前的密码。我正在尝试查看我正在使用的用户的当前密码。
如何在 Bash 中查看我的用户的密码?
答案1
实际上你不能,你的密码经过哈希处理并且只是单向解码。
总而言之,想象一下每次您尝试登录时,它都会执行类似的操作
if hash('password') == currentHash;
do grantAccess();
每次保存密码时,都会做
hashedPass = hash('password');
writeOnShadowFile('hashedPass')
这是根据散列的安全标准,避免存储真实密码,而是存储函数的结果,并以这种方式对其进行评估。散列函数的目的是在数据丢失的情况下进行大量原始值转换,并且由于数据丢失,几乎不可能知道您的原始密码。
usermod -p <password> <user>
您可以使用或仅更改您的密码passwd <user>
。
答案2
无法查看操作系统用户密码。密码存储在散列的形式。您只能检查您是否知道其中一项。这不仅会构成安全威胁,而且还应该定期更改密码。而且新的不应该和旧的太相似。但在家庭环境(而不是专业环境)中,您不应该被命令行所困扰。
答案3
你不能!有充分的理由。这将是一个巨大的安全缺陷。您可以使用命令更改密码passwd
(请参阅man passwd
)。
如果您是 root,则可以更改所有用户的密码。