Зберігання паролів у Emacs
Ми реєструємось на безлічі інтернетних ресурсів, і бажано на кожному із них використовувати пароль, який ви більше ніде не використовуєте. Тут ми опишемо як можна організувати зручну й незалежну від вебної переглядалки базу з паролями в простому текстовому файлі, зашифрованому через GPG, і зручно користуватись нею в текстовому редакторі GNU Emacs. Для цього треба:
- Мати або створити власну пару ключів GPG;
- Налаштувати зберігання записів з допомогою функції forms-mode;
- Організувати собі функції-помічники, які б дозволили легко здійснювати пошук у базі і додавати до неї записи.
Це ми й спробуємо зробити.
1. Створення ключа
(Якщо у вас уже є власна пара ключів GPG, можете переходити до пункту №2). Мати свою пару ключів GPG зручно: ви можете передати т. зв. публічний ключ кому завгодно, і він зможе зашифрувати для вас дані; але розшифрувати їх зможете лише ви, і лише з допомогою другого, секретного ключа, який треба пильно берегти. Щоб згенерувати власну пару ключів, запустіть
gpg --gen-key
Програма задасть кілька технічних питань (на які можна відповідати просто Enter — типові значення є оптимальними), після чого ви введете ваше ім’я, електронну адресу та пароль до ключа, який має бути достатньо міцним, адже ним може бути захищено дуже багато ваших шифрованих даних. Його слід добре пам’ятати:) І ось, ключ згенеровано.
2. Налаштування Forms-mode.
В Emacs є зручна річ для роботи з тестовими базами даних: forms-mode. Вона дає можливість редагувати таку базу у вигляді анкети, а також здійснювати по ній пошук. Щоб її налаштувати, потрібно створити т. зв. контрольний файл: там буде вказано як відтворювати на екрані записи, і звідки їх брати. Ось приклад:
;; Вказати де лежать записи
;; Скільки полів у кожному записі
;; Дозволити редагування
;; Як виглядатиме бланк
;; Не зберігати тимчасових версій файлу (щоб не вислизнули паролі)
У другому рядку змініть адресу файлу з паролями на таку, яка вам підходить. Зберігаємо цей файл, наприклад, у ~/elisp/accounts.el
. Закриваємо файл через C-x k
(буфер потрібно ліквідувати). Forms-mode налаштовано.
3. Пишемо функції для легкого пошуку і додавання
Ось приклад:
;; Де лежить файл?
Це потрібно додати у ваш файл ~/.emacs
i перезавантажити програму.
4. Користуємось
Тепер додамо перший запис. Запускаємо M-x addpw
. Відразу відкривається вікно forms-mode з пустим записом. Заповнюємо його, і тиснемо C-x C-s
. Тут Emacs запитає нас, яким ключем потрібно зашифрувати файл паролів. Ставимо курсор на наш ключ і тистемо m
, тоді [ok]
. Файл з паролями створено. Переконайтесь, що право запису до нього є лише у вас. Щоб знайти запис: M-x getpw
. Нас запитує критерій пошуку: вводимо, підтверджуємо, і знаходимо наш запис. Якщо потрібно шукати далі, тиснемо C-c C-s
.