我忘记了登录密码。所以我启动进入恢复模式并使用passwd
命令更改密码。我现在可以登录,但显然我没有更新我的 Gnome 密钥环密码。
我知道我的旧密码足够接近,可以在需要时暴力破解它,但我不知道如何在命令行上执行此操作。
是否可以在命令行上登录 Gnome 密钥环(Seahorse)? (或类似的东西)?
我的设置是 Debian 9,Gnome 3.22.2。
答案1
有一个 Python 脚本 ,gkeyring
它允许与 GNOME 密钥环守护程序交互。
一个小型 Python 工具,用于 shell 访问 GNOME 密钥环。它提供了对密钥环项目的简单查询和创建。
用法
Example usage:
$ gkeyring.py --all
List all keyring items in the default keyring.
$ gkeyring.py --id 12
Get keyring item with ID 12 in default keyring.
$ gkeyring.py --name 'backup'
Search for keyring item with name 'backup'. You can easily see item names e.g.
in the overview of Seahorse application.
$ gkeyring.py -p [email protected] -i gajim=1 -1
Search for keyring item with property 'account_name' with value '[email protected]'
and property 'gajim' with integer value '1'. Output only the secret(s).
$ gkeyring.py --type network -p server=my.com,protocol=ftp --output user,secret
Search for network keyring item with 'server' and 'protocol' properties. Output
property 'user' followed by item's secret.
$ gkeyring.py --set --name 'foo' -p bar=baz --keyring login
Create a new item in keyring 'login' with name 'foo' and property 'bar'.
$ gkeyring.py --delete --id 12
Delete a keyring item with ID 12.
$ gkeyring.py --lock --keyring login
Lock keyring 'login'.
答案2
所有命令行工具(包括在另一个答案中找到的工具)都无法与密钥环本身的密码进行交互,这可能是设计使然。您几乎肯定必须查看“gnome-keyring-daemon”的文件格式和代码并推出您自己的。这可能不太难,但您可能不必走那么远。
我能找到的最接近的工具称为“seahorse”,我不知道为什么它被称为“gnome-keyring-manager”或其他东西,但这是用于 gnome keyring 访问的 GUI。
它是一个 GUI,但我在不到二十次的尝试内就猜出了我的密码,所以没有费心去发现是否可以通过某种形式的 X 宏命令来自动化它。 (出于安全考虑,这在 Linux 上比 Windows 上要困难得多。)
编写一些 python 来直接访问密钥环文件本身可能更容易。使用现有工具很可能根本不可能实现这一点,而且这是设计使然。 gnome-keyring-daemon 可能不直接提供对密钥环的访问。也就是说,“海马”GUI 实际上可能不会提示输入密码和解锁内容,而是向守护进程发出请求,然后守护进程直接提示用户。
但这只是猜测。