axe
у меня одинаковые (что на вход, что на брелок), все равно спрашивает.
ок.
давайте я расскажу, что знаю по поводу GNOME Keyring, и как добиться от него нормальной работы.
Замечание 1.
я не знаю, насколько хорошо GNOME Keyring работает в свежеустановленной Ubuntu 8.04, какие там настройки по умолчанию и т.д., поскольку я обновлялся с 7.10 до 8.04, а там произошли изменения в GNOME Keyring (в частности, инструментом для работы с ним стал Seahorse, а не GNOME Keyring Manager). Поэтому я просто заново создал все брелоки, поставил все настройки, и добился того, что у меня нет проблем с использованием этой штуковины
Замечание 2.
У меня нет WiFi, соответственно с данным конкретным приложением, лазающим в keyring за credential'ами я не ковырялся. Но те приложения (gajim, tomboy), которые используются у меня, работают без проблем.
Итак.
GNOME Keyring - это защищенное хранилище т.н. "секретов" пользователя: паролей к программам, веб-сайтам, серверам, да чему угодно, в принципе. Сам keyring умеет эти секреты тлько хранить, и отдавать программе, которая их запрашивает. Как они оспользуются дальше - забота программы. Если программа - Gajim, то секретом будет пароль к Jabber-аккаунту, если программа - nm-applet (вроде так) - то пароль к WiFi сети, и т.д.
Все секреты в GNOME Keyring хранятся в одном или нескольких
брелоках (keyring). Примеры брелоков: default, login. При помощи Seahorse можно создать сколько угодно брелоков с какими угодно именами.
Каждый брелок защищен паролем. Чтобы получить доступ к любому секрету в брелоке, надо знать парольк этому брелоку. Если ты знаешь пароль к брелоку, то ты имеешь доступ ко всем секретам в брелоке.
Для нормальной работы должен быть задан
брелок "по умолчанию". Приложения обычно запрашивают секреты таким образом: ("имя брелока" - "номер секрета"). Если "имя брелока" не указано, то используется брелок "по умолчанию".
Чтобы узнать, какой брелок у вас установлен по умолчанию, надо открыть Seahorse, "Правка - Параметры", первая вкладка ("Брелоки паролей"). В списке видны все созданные брелоки для данного пользователя, в выпадающем списке ниже виден брелок по-умолчанию:
[Изображение удалено администратором]
как видно на скрине, у меня 2 брелока: login и default, из них default выбран по умолчанию. Я рекомендую делать брелоком по умолчанию именно
default, т.к. некоторые программы (например, Gajim) предполагают, что брелок по умолчанию имеет именно такое имя. Если имя другое, то Gajim работает некорректно. Это скорее глюк gajim, чем что-то другое, но тем не менее: лучше делать брелоком по умолчанию брелок с именем default.
Второй "специальный" тип брелока - это брелок с именем
login. Это так называемый "сессионный" брелок. Пароль брелока login должен совпадать (это совет на случай, если его создавать вручную, как я. Но скорее всего, он уже есть.) с паролем пользователя. Брелок login автоматически открывается при входе пользователя, т.е. для доступа к секретам в этом брелоке пароль вводить
не надо.
Третий важный пункт: в брелоке
login можно хранить пароли к другим брелокам. Т.е. если есть брелоки login и default, и пароль от default хранится в брелоке login, то при попытке доступа к секрету в брелоке default пароль вводить тоже не надо: пароль будет взят из брелока login, а тот разлочен автоматом.
Чтобы сохранить пароль к брелоку default в сессионном брелоке login, надо сделать так:
1) установить пароль на default
2) проверить, что существует брелок login и его пароль совпадает с паролем пользователя
3) сохранить какой-то секрет в брелоке default (например, выбрать его брелоком по-умолчанию, и войти в сеть WiFi. При этом пароль к сети будет сохранен в брелоке default)
4) Перезапустить сеанс (выйти и войти пользователем), и вновь войти в сеть WiFi. У вас спросят пароль к брелоку default, при этом в диалоге для ввода будет опция "Automatically unlock this on login". Выберите ее, и все! Больше пароль для default у вас спрашивать не должны.
Четвертый пункт: чтобы сбросить все настройки брелоков, надо удалить все файлы из папки
~/gnome2/keyrings.
В сухом остатке,
кратенький мануальчик для тех, кто не хочет разбираться, че же тут за куча букаф написана и доконфигуривать самому, а хочет просто сделать так, как есть у меня:
1) Проверяем (на самый-самый всякий случай, по идее это должно быть всегда true), что в PAM есть поддержка разлочивания брелока login: в терминале такая строчка
grep -rq pam_gnome_keyring.so /etc/pam.* && echo "Have PAM Support"
должна давать вывод "Have PAM support". Если строчку не написало, тады ой. Надо разбираться отдельно. Дальше будем считать, что тут все ОК
2) Удаляем нафиг все файлы из папки
~/gnome2/keyrings.
3) Идем в Seahorse (Система - Стандартные - Пароли и ключи), "Правка - Параметры", "Добавить брелок". Вводим имя: "
login", пароль задаем как у текущего пользователя.
4) Там же создаем еще один брелок с именем
default, пароль задаем любой. Этот пароль придется ввести всего дважды еще.
5) Выбираем брелок
default брелоком по умолчанию (см. скрин выше).
6) Делаем так, чтобы GNOME-Keyring использовался: запускаем вход в сеть WiFi, логинимся в Gajim. В общем, запускаем приложение, которое использует GNOME-Keyring. У вас будет спрошен пароль к брелоку default - вводим его. После этого в брелок default будет записан этот секрет. Это можно посмотреть вот где: Seahorse, основное окно, последняя вкладка "Пароли":
[Изображение удалено администратором]
7) Завершаем сеанс, заходим снова. Запускаем то же самое приложение (вход в сеть WiFi). Вводим пароль к брелоку default, и
обязательно выбираем "Automatically unlock this on login"
8. ПРОФИТ!
Если в каком-то пункте поведение отлично от написанного, значит, что-то пошло не так.
ЗЫ столько написал, что хочется добавить: "Извините, если для кого-то это сообщение - спам"