- id-manager 20170320.546(in MELPA)
- id-password management
概要
id-manager.el は、Emacsで各サービスのパスワードを管理するものです。
同じ目的のツールとしてブラウザの拡張に LastPass などがありますが、
クラウドに全パスワードを保存するということは、
パスワードを預けたサーバがクラックされると
全てのパスワードがダダ漏れになってしまうリスクがあります。
そこでローカルファイルにパスワードを暗号化して保存しておく方法もあります。
また、Emacs LispからID・パスワードにアクセスできるので、
パスワードを平文で設定する必要がなくなり、
セキュリティ が保たれます。
詳しくは開発者の記事を見てください。
http://d.hatena.ne.jp/kiwanami/20110221/1298293727
なお、最新版では anything.el ではなくて helm.el との連携になっています。
helmとともに楽々パスワード管理を楽しんでください。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。
(package-initialize) (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.org/packages/") ("org" . "http://orgmode.org/elpa/")))
初めてid-managerを使う方は
以下のコマンドを実行します。
M-x package-install id-manager
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name id-manager
quelpa は一度入れておくと楽チンです。
設定 140928130442.id-manager.el(以下のコードと同一)
(quelpa '(id-manager :repo "kiwanami/emacs-id-manager" :fetcher github))
(require 'id-manager)
(setq epa-file-cache-passphrase-for-symmetric-encryption t)
(setq epa-file-select-keys 'silent)
実行方法
$ wget http://rubikitch.com/f/140928130442.id-manager.el $ emacs -Q -f package-initialize -l 140928130442.id-manager.el
id-managerに保存したID・パスワードにLispでアクセスする
id-managerのデータベースは
(idm-load-db)
で得られます。
これはデータそのものではなくて関数オブジェクトになっています。
そこから特定のアカウント名のIDとパスワードを得るには、
この関数にシンボルgetとアカウント名を渡します。
返り値は構造体で、それぞれ
- idm-record-account-id
- idm-record-password
でアクセスできます。
つまり、
データベース関数オブジェクト→構造体→ID・パスワード
の3段階になります。
たとえば .idm-db.gpg (をデコードした内容)に以下の行があるとき、
test1 testuser testpass 2012/11/27 test1
- アカウント名: test1
- ID: testuser
- Password: testpass
- メモ: test1
となります。
(let ((record (funcall (idm-load-db) 'get "test1"))) (idm-record-account-id record) ; => "testuser" (idm-record-password record) ; => "testpass" )
ちなみに今日、自分のクレジットカード使用履歴を見るための
Ruby クローラー を作りました。
クレジットカードのサイトのパスワードはid-managerで管理されていて、
クローラーにIDとパスワードをEmacsから渡すための学びです。
本サイト内の関連パッケージ
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。