A Day in the Life

mac の keychain のパスワードを CUI から追加・取得

mac の keychain のパスワードを CUI から追加・取得

security コマンドでできるってことを https://github.com/defunkt/gist のドキュメント眺めていたら知った。

特定のパスワードを取得するには、

  • security find-internet-password # web
  • security find-generic-password # generic

を使って取得ができる。

$ security 2>&1 find-internet-password -gs www.hatena.ne.jp | ruby -e 'print $1 if STDIN.gets =~ /^password: "(.*)"$/'

追加は

  • security add-internet-password
  • security add-generic-password

でできる。

$ security add-generic-password -a foo -w bar -s testtesttest
$ security 2>&1 find-generic-password -gs testtesttest | ruby -e 'print $1 if STDIN.gets =~ /^password: "(.*)"$/'
bar

わーべんり!って思ったんだけど、これで生パスワード取得可能って危険じゃ無い?ダイアログで許可を尋ねられるけど、ログインパスワードなしで生パスワードが取得されてしまう。keychain.app のほうは生パスワード取得するときにログインパスワードを再度尋ねられ、その後知ることができるんだけど、この方法で生パスワード取得が可能だと、PCをロックしてない状態で誰かに操作されたとき keychain のパスワードがダダ漏れになってしうまうような…。 ロック解除されていた keychain だからでした…ちゃんとロックされている keychain は問題なかった!!!

記事の一覧 >