我有一台 Linux PC,上面配置了多个用户登录。对于同一台 PC,我有 root 访问权限(用户名和密码)。我丢失了一个用户帐户的密码。如何找回该特定用户帐户的密码。我以 root 用户身份尝试了以下操作
passwd <login name>
Enter new password
confirm new password
但它没有结果,请您建议一些恢复密码的方法。
另外,我知道密码以加密形式存储在 /etc/shadow 文件中。有人知道如何获取加密密码的解密形式吗?
答案1
存储哈希密码的目的/etc/shadow
是为了防止检索纯文本密码,因此无法确定当前密码是什么。您唯一的选择是使用passwd <username>
root 身份重置密码。
答案2
如果您想尝试暴力破解,哈希值存储在 中/etc/shadow
。它们是加盐的,因此彩虹表攻击很可能不起作用。您可以尝试John the Ripper
暴力破解,但除非该词是字典中的单词或非常弱,否则我认为您不会有太大的运气。
答案3
您必须输入命令
passwd $user
其中$user
替换为丢失密码的账户用户名。
如果您只是输入passwd
naked,没有任何参数,则passwd
假定您想要更改当前登录用户的密码。
另外,请确保您正在使用su root
启动 root shell、运行sudo
或诸如此类的程序。