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から渡すための学びです。

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。