背景
MacのOSをバージョンアップするたびにクリーンインストールをしているのですが、そのたびに面倒くさいのが、複数個使っている「インターネットアカウント」の再入力。 例えば、僕の場合は Gmailが3個、Yahoo! Japanが2個、Outlookが3個、iCloudが2個(なんでや)と複数個のアカウントを使い分けてます。 iCloud Keychainで登録できないこれらの「インターネットアカウント」を再入力するのは手間なものです。
2017/04/22 update
iCloud Keychain を有効にしておくと、他の端末で同じ Apple ID を利用した際に、メールアカウントの同期が行えるようになっていました! そのため、以下の手順を行わなくても、メールの情報が共有されます! さすが!
/Users/your_account/Library/Accounts をコピーする
この問題についての回答がAppleのQ&A にありました。 それによると、/Users/your_account/Library/Accounts の中身をコピーしてあげればよいとのことです。 お手持ちの HDDやUSBに一時的にコピーしてから新しいOSなり環境なりへデータを移しましょう。
ちなみにこのフォルダの中には、
Accounts4.sqlite Accounts4.sqlite-wal Accounts4.sqlite-shm
というファイルが入っています。 こちら、sqlite3というDBのデータになっているため、中身を確認してみると、
sqlite> .tables
ZACCESSOPTIONSKEY Z_2ENABLEDDATACLASSES
ZACCOUNT Z_2PROVISIONEDDATACLASSES
ZACCOUNTPROPERTY Z_4SUPPORTEDDATACLASSES
ZACCOUNTTYPE Z_4SYNCABLEDATACLASSES
ZAUTHORIZATION Z_METADATA
ZCREDENTIALITEM Z_MODELCACHE
ZDATACLASS
というテーブルが出てきました。
ZACCOUNT テーブルの中に各種アカウントの基本情報が入っており、ZCREDENTIALITEM テーブルの中にインターネットアカウントと紐付けられた秘密情報が格納されています。 これらのデータはそのため、インターネットにアップロードしたり、共有フォルダに入れることは避けましょう。