whick keyring backend в rhel7 Linux, чтобы избежать лишнего пароля при хранении учетных данных?
Я устанавливаю следующие пакеты (не все могут быть установлены на обеих платформах):
- Python 3.5.4:: Anaconda custom (64-битная версия)
- брелок 9.3.1
- keyring_jeepney 0.2
- keyrings.alt 1.2
- SecretStorage 2.3.1
на обоих компьютерах с Windows 7:
Window 7
и на компьютере с Linux RHEL7:
$ 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 one, или пустой пароль, как предлагалось на форумах, но ничего из этого не работает. У меня нет прав администратора для установки на основе пакеты, но я могу установить пакеты Python без каких-либо проблем. Я смотрю на документ https://pypi.python.org/pypi/keyring но не нашел информацию, которую я искал. Причина в том, что мне нужно запустить некоторые код с заданием cron и мне нужно получить доступ к нескольким паролям: прокси, API и базы данных.
1 ответ
Вот что на самом деле помогло мне соединить точки: https://pypi.org/project/keyring/
Самый первый пример кода, который у меня был, я успешно использовал дословно в моей среде RHEL:
>>> import keyring
>>> keyring.set_password("system", "username", "password")
>>> keyring.get_password("system", "username")
Похоже, утилита командной строки также отправляется вместе с:
$ keyring --help
$ keyring set system username
$ keyring get system username
Надеюсь, это поможет, если вы не ладили дальше.