我安装了以下软件包(并非所有软件包都可以安装在两个平台上):
- Python 3.5.4 :: Anaconda 自定义(64 位)
- 钥匙圈 9.3.1
- keyring_jeepney 0.2
- 钥匙圈.alt 1.2
- 秘密存储 2.3.1
在 Windows 7 机器上:
Window 7
在 RHEL7 Linux 机器上:
$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
$ cat /proc/version
Linux version 3.10.0-514.26.2.el7.x86_64 (sandman@node3res7) (gcc version 4.8.5 20150623 (SuSE 4.8.5-11) (GCC) ) #1 SMP Tue Jul 4 13:45:36 UTC 2017
在 Windows 上,登录名和密码按预期存储在一个安全的旧版本中,并且没有任何额外的密码。我认为只有当我正确理解所有内容时正确的用户登录时,WinVaultKeyring 才会解锁:
>>> from keyring import get_keyring
>>> get_keyring()
<keyring.backends.Windows.WinVaultKeyring object at 0x000000000361CAC8>
在 Linux 上,它有点不同,当您开始存储日志和密码时会询问额外的密码。每次我需要访问登录+密码时,都会请求最后一个密码:Please enter password for encrypted keyring:
您可以看到系统存储 keyring.backends 不同:
>>> from keyring import get_keyring
>>> get_keyring()
<EncryptedKeyring at /home/Cxxxx/.local/share/python_keyring/crypted_pass.cfg>
所以我的问题是我应该在 Linux RHEL7 上使用哪个密钥环后端来避免这个额外密码问题来访问使用密钥环存储的登录名和密码?哪个实际的后端似乎无法禁用它(我尝试使用与 linux 相同的密码或论坛上建议的空密码,但这些都不起作用。我没有管理员权限来安装基于包,但我可以毫无问题地安装 python 包。我查看了文档https://pypi.python.org/pypi/keyring但没有找到我正在查看的信息。原因是我需要运行一些带有 cron 作业的代码,我需要访问几个密码:代理、api 和数据库。