Mac OS X server Mountain Lion によるシステム構築
システム.
Snow Leopard server による afp のホームの提供 (mcintosh-s-02) と Snow Leopard server による Open Directory の提供 (mcintosh-s-04).
これらを Mountain Lion server へ移行したい (mcintosh-s-05).
以下, mcintosh-s-02 を s-02
mcintosh-s-04 を s-04
mcintosh-s-05 を s-05
と略.
問題点.
最初に想定した, システム構成は,
s-04 --> s-05 へ Open Directory の情報を転送.
s-02 の afp ホームディレクトリは当分使い続ける. しばらくして, s-05 へ移行.
Mountain lion server s-05 が Open Directory を提供している場合,
Snow Leopard server s-02 による afp ホームディレクトリ提供がうまくいかなかった.
よってこの構成を諦める. 具体的な問題点は, うしろ を参照.
Snow Leopard から Mountain Lion による新構成への移行の概略.
方針.
s-05 (Mountain lion server) が, Open Directory を提供すると共に, afp ホームディレクトリも提供する.
s-02, s-04 を一気に廃止.
s-04 の Open Directory 情報は, s-05 で使えない物(afp の位置, group id)もあるので,
ユーザ登録も新規にやる.
Step 1.
サーバ管理ソフトで s-05 で Open Directory サービスを有効にする (マスタ).
afp によるホームディレクトリの提供を行なう.
この例では /Volumes/home09, /Volumes/home10
Step 2.
ユーザ登録.
dscl を用いて一気にやる. ログイン名, uid は unix システム上のものを使う. パスワードは初期化.
login 名, Full Name, 初期パスワードが書いてあるテキストファイルより, dscl で
Open Directory へ登録する shell script を生成する C のプログラムを作成.
例: gen-uadd.c を用いて, ex-in.txt より ex-in.sh を作成.
./gen-uadd --homep home09 --uid 10001 ex-in.txt >ex-in.sh
sh ./ex-in.sh (root でおこなう
落とし穴1, 2も参照.
gen-uadd.c のソース ,
ex-in.txt (サンプル入力),
ex-in.sh (サンプル出力).
Step 3.
ホームディレクトリの s-02 から s-05 へのコピー.
s-02 の /Volumes/home09, /Volumes/home10 を ditto で下記のようにアーカイブする.
s-02> sudo su
s-02> cd /Volumes ; ditto -c home09 /home09.ditto
で, ditto アーカイブして, s-05 の適当な場所にコピー (たとえば /)
disk drive を home09 とする.
s-05> sudo su
s-05> cd /Volumes ; ditto -x /home09.ditto home09
s-02 と s-05 の uid が一致しない場合は
cd /Volumes/home09 ; chown -R login名 login名
で各ユーザについて所有者を変更する必要あり.
以上が概略であるが, 幾つか落とし穴があった. それを記載する.
落とし穴1:
useradd.sh で足しただけでは, 共有サービス等が使える状態でない.
サーバ管理ツール.
ユーザを一人ずつ選択して, service への access を編集して, 最低 afp サービス(ファイル共有)を有効にする.
コマンドラインでのやり方, 不明.
落とし穴2:
s-02 で利用していた group id (gid) が Open directory で利用可能な gid として( staff=20 とかだめ)
s-05 に存在しないと, unknown group に変換されて,
さらに login した時タイムスタンプが更新されてしまう.
対策:
gen-uadd.c では PrimaryGroupID を workgroup に default 設定しているので,
s-05> sudo su
s-05> cd /Volumes/home09; chgrp -R workgroup *
対策2:
group を gui で登録. たとえばそのグループ名を workgroup2 とする.
(下の例では user2 )
この番号を知るには,
s-05> dscl /LDAPv3/127.0.0.1 -read Groups/workgroup2
PrimaryGroupID の値を読む.
または dscl で登録する. どうやら番号が 1000 以上?でないと使えないようだ.
gen-uadd.c の PrimaryGroupID をこの番号としてから gen-uadd で ユーザ登録スクリプトを実行する.
s-05> sudo su
s-05> cd /Volumes/home09; chgrp -R workgroup2 *
Snow Leopard から Mountain Lion 移行での client 側での一般的な注意点.
1. security で, 任意のプログラムを実行可能としておかないと, App store のソフトしか実行できなくなる.
2. xcode を App store からダウンロードしておいて,
preference -> download -> command line tools をダウンロードする.
必要に応じて, /Developer/usr/bin もコマンドサーチパスへ入れておく.
3. 今はユーザーアカウント ... でログインできません. となることがあるので, 各クライアントで,
/etc/auto_master の /Network/Servers -fstab を # でコメントアウト.
(apple のサーポートページにある解決策).
4. 特にサーバーでなくとも printer を共有資源として供出できる. 直接接続も簡単になった.
参考: 別の Open Directory server が動いている Snow Leopard のホーム
Mountain lion server s-05 が Open Directory を提供している場合,
Snow Leopard server s-02 による afp ホームディレクトリ提供がうまくいかなかった.
よってこの構成を諦める.
下記はその時の log の例 (mcintosh-s-02 でないので、うそかも...)