何度でも蘇るユーザアカウント

OSX 10.5.4 までの挙動

(後で書く)とした件の続き。類似の報告は、Appleのdiscussion boardにもある

私が遭遇した現象は、下記の通り。
Leopard Server上に、ローカルなアカウント(monaka)を作った。monakaは、モバイルアカウントだった。
ある日、そのアカウントを消して、/LDAP/127.0.0.1 上に同名のアカウントを作った。ホームやメールアドレスは同じものを使った。
たぶん、これが混迷の始まり。

system.logによると、

Sep 12 11:10:02 ldap /System/Library/CoreServices/ManagedClient.app/Contents/MacOS/ManagedClient[238]: -xaImportUser: Imported "monaka" with home "/Volumes/XRaid1/Users/monaka" into DSLocal because account was previously found in directory services.

とのこと。どういうわけか、/var/db/dslocal/.../Users/monaka.plist が自動的に作られる。
何度消しても、リブートすると蘇る。直接 rm しても、dscl で消しても、蘇る。誰が蘇らしているのかは不明。ちょっとしたホラー。
その後、

Sep 12 11:33:05 ldap /System/Library/CoreServices/ManagedClient.app/Contents/MacOS/ManagedClient[238]: -xaRemoveInactiveExternalAccounts: removing "monaka" with home "/Volumes/XRaid1/Users/monaka" from DSLocal because account is not active.

となる。この状態でも monaka.plist を消せば Web/ssh/IMAP等のサーバ系認証は通る。しかし、loginwindow の認証は通らないようで、モバイルアカウントへのログインはできなくなる。サーバへも、loginwindowを使った GUIログインはできなくなる。何のダイアログも出ないので、何が起きたのか、さっぱり判らない。

以上、OSX 10.5.4 までの挙動。

10.5.5の現状と、解法。

残念ながら、この問題は 10.5.5 でも解決できていない。
で、対症療法。


モバイルアカウントのディレクトリ情報のローカルキャッシュが ~/.account だというのは以前のエントリで書いたが、どうやらサーバ側の ManagedClient.app *1 も、このファイルをみているらしい。
試しに、

# mv ~monaka/.account ~monaka/.account.org
# /sbin/reboot

などしてみたら、サーバ自身への monaka アカウントでのログインが可能となった。
ここで、reboot が肝。どうやらデアクティベートしたユーザの情報を内部でキャッシュしているようで、単に消しただけでは上手くいかないらしい。


とりあえず、一歩前進。続いて、モバイルアカウントとしての復活と、クライアントマシンとのホームディレクトリ同期の実現が目標。

*1:もしかしたらloginwindowも?