SMB環境時にホームディレクトリが作成されない問題

ここ何日かOSX Serverを触っているのだが、期待していたGUIはあまり凝ったことができずに、結局CUIを使いたくなる。
さて、どういうわけかワークグループマネージャで新規SMBユーザーを登録しても、ホームディレクトリが作成されない。かといって、新入社員の入社とともに作成するのもかったるいので、少し確認*1することにした。


/etc/smb.confをみてみると

root preexec = /usr/sbin/inituser %U

という項目がある。さらにこの/usr/sbin/inituserをみてみると、shellコマンドになっていて、以下の内容になっている。

#!/bin/sh

# create and populate default home directory
/usr/sbin/createhomedir -u $1

コマンドと作成する準備はできているのに、なぜ作られないのか?

一応inituserにtouch /tmp/testを追加すると、/tmp/testへファイルが作られているので、inituserは実行されている模様。パーミンションもroot.wheelになっているので問題なし。

次にinituserを単独で実行してみる。が、やっぱり作成されない。ということは、smb.confかinituserが間違っていると考えられる。

inituserが間違っていることを願って、sudo createhomedir -hとしてみると、関係ありそうなオプションは以下の通り

\-s create home directories for server home paths only (default)
\-c create home directories for local home paths only
\-b create home directories for both server and local home paths

で、-sのserver home paths onlyが非常に怪しい試しに、-bでテスト。

xsvr:~ admin$ sudo createhomedir -b -u s_nobu
creating home directories for (xsvr.local)
created (/Users/s_nobu)

無事に作成されたらinituserを修正し、SMB経由でアクセスした場合にも作成されることを確認*2

Webで情報を探しても引っかからないし、みんな使っていないのかな?それとも以前は動いてたのかな?一応アップルには連絡済み。

*1:アップルのドキュメントではできるとも読めるし、できないとも読める

*2:ワークグループマネージャでホームを指定する必要