如何通过命令行在 Mac OS X 中找回忘记的网站和浏览器密码
您有多少次忘记了网站密码?不要难过,因为它发生在我们最好的人身上。好消息是,如果您使用 Mac OS X Keychain 功能通过浏览器跟踪网站的登录信息(您知道浏览器何时要求保存/存储您的登录信息?),您无需担心,您所需要的只是网站 URL,只要您登录到最初保存密码时使用的同一用户帐户,就可以找回忘记的密码。这将适用于所有通过 Chrome、Safari、Firefox 存储信息的网站,它也应该适用于任何其他浏览器。这是使用“密码重置”或忘记密码功能的一个很好的替代方法,这些功能在许多网站和服务上都是多步骤过程,因为它不需要任何互联网连接。
重要安全说明:此技巧存在一些轻微的安全漏洞,但只要您不让随机的人登录您的用户帐户,就不应该一个问题——这就是访客登录的目的。另一方面,对于取证目的和一些独特的系统管理案例,这里有合法的价值,而且对于我们这些忘记密码并且不想通过特定的密码来完成整个重置过程的人来说,它也有无限的帮助网络服务。尽管如此,这确实允许用户泄露为同一用户帐户存储的密码,因此请注意潜在的隐私和安全隐患。
在 Mac 上通过命令行恢复忘记的浏览器密码
检索存储的网站密码的基本命令语法如下所示:
security find-internet-password -s [url] -w
因为这个帐户安全是一个敏感话题,让我们分解命令字符串,这样你就不会盲目地发出命令字符串来泄露登录信息。 “security”命令是 Keychain 的前端,Mac OS X 使用它来存储已保存的登录信息,“find-internet-password”是主要标志,具有异常明显的描述性名称,-s 用于指定要匹配的 URL,-w 告诉安全命令返回仅密码,而不是完整的密钥列表,否则就是一堆乱码。
这需要进入终端,位于 /Applications/Utilities/ 目录或通过实用程序文件夹中的 Launchpad。点击 Return 后,您会看到一个弹出窗口,上面写着以下内容:“安全人员想要使用我们存储在您钥匙串中的“您指定的域”中的机密信息。您要允许访问此项目吗?
单击“允许”是您想要显示密码的操作。不建议选择“始终允许”,选择“拒绝”会阻止密码泄露。
在命令行中从钥匙串中检索密码的示例
我们将使用网站“getpocket.com”作为示例域,因为它是我经常使用的一项服务,而且我碰巧最近忘记了密码,尽管它已保存在 Safari 和 Chrome 中Mac 和 iOS 中的随附应用程序。因为我不记得密码但它存储在浏览器中,所以这是使用安全命令检索它的完美案例。
因此命令字符串如下:
security find-internet-password -s getpocket.com -w
在请求时单击对话框中的“允许”。
你会发现唯一返回的是包含密码的一行,使得整个命令字符串和标准输出看起来像这样:
$ security find-internet-password -s getpocket.com -w
password123
(不,那不是真正的密码)
如果您计划将其用于脚本目的,您可能想尝试使用 -g 标志而不是结合 grep 来查看密码,该语法为:
<代码>security find-internet-password -s DOMAIN -g | grep“密码”
它的输出看起来像“password: (actualpassword123)”这样更容易识别。
仅限于存储在网络浏览器中的已保存密码
此特定功能仅限于存储在网络浏览器中的已保存密码,但只要它使用钥匙串而不是密码管理器进行存储,哪个浏览器并不重要。因此,这不是找回忘记的 Mac 登录密码的解决方案(转到此处获取而不是 ) 或其他不是专门用于网站或服务的登录信息。