いろいろ試行錯誤した結果、だいたいMac OS Xでのホームディレクトリの移動方法が確定してきたので、手順をまとめてみます。

1.There are two ways...

 ホームディレクトリを移動するには大別して2つの方法論があります。
(1)dittoで複製し、Netinfo Managerで設定する(いくぶんMac的)
(2)dittoで複製し、/etc/fstabを編集して、パーティションのマウントポイントを変更する(極めてUnix的)

 なお、Mac OS X Serverの場合に限り、dittoで複製してから、/Applications/Utilitiesにあるワークグループマネージャで、ホームディレクトリを指定することもできます(上記の(1)と同じ内容を別のGUIで指定しているだけのようです)。

2.Is there any difference...?

 筆者がこれまでに試した範囲では、基本的にどちらの方法で移動したホームディレクトリでも、正しく動作します。

 唯一違う点は、(1)の方法で移動させた場合、~/Sitesに置いたデータを公開するWeb共有が正しく機能しなくなる、という点です。(10.3.3では問題なく公開できるようです。追加情報参照)
  ただし、単一ユーザーで使用しているマシンの場合、/Library/WebServer/Documentsにデータを置いてしまうか、あるいはhttpd.confを編集してDocument Rootに移動させたホームにあるSitesを割り当ててしまえばWebにデータを公開できます。
 とは言うものの、複数のユーザーを設定して、それぞれが独自にWeb共有する場合(特にMac OS X Serverの場合)には、fstabを編集して、特定のパーティションを/Usersとしてマウントするしかありません。(筆者がMac OS X Serverでfstabを編集して/Usersとしてパーティションをマウントしたところ、/Usersパーティションに置いたホームディレクトリの各ユーザーのSitesデータは、ちゃんと公開されました。)

3.At your own risk... Are you ready?

 もちろん、ホームディレクトリを移動させる方法は(おそらく、ワークグループマネージャのGUIが用意されているMac OS X Serverは除いて)、アップルの保証対象外の使い方です。トラブルが起こっても自分で解決する覚悟はありますか?

 rootユーザーとして作業しなければならない場面が多々あります。rootは有効になっていますか?なっていなければrootを有効にして下さい。やり方が分からなければ調べましょう(ネットで見つけられます)。それでも見つからない場合、スキル不足です。もう少しMacの扱いに慣れてから挑戦しましょう。

4.Let's dance!

 それでは始めましょう。

(1)NetInfo Managerを利用する場合

  1. rootでログインしてTerminal.appを起動。または通常ユーザーでTerminal.appを起動しsuでrootに
  2. dittoコマンドで現在のホームディレクトリを複製(コマンドは下記)
    ditto -v -rsrcFork /Users/ユーザー名 新ホームディレクトリのフルパス
  3. 複製が終わるまで待つ
  4. 旧ホームディレクトリの改名(念のために残す、動作確認できたら削除)
  5. 新ホームディレクトリのシンボリックリンクを/Usersに配置
    ln -s 新ホームディレクトリのフルパス /Users/ユーザー名
  6. Terminal.appを終了
  7. NetInfo Manager.appを起動する(和名NetInfoマネージャー)
  8. NetInfo Manager.appのディレクトリ画面で/→users→ホームを変更したいユーザー名とディレクトリをたどってゆく
  9. 画面下部のプロパティからhomeの項目を探す
  10. homeプロパティの値に新ホームディレクトリのフルパスを入力
  11. メニューから保存を選択
  12. NetInfo Manager.appを終了
  13. ログアウトしてからログインし直す

画像付きの解説はこちら(Mac OS Xのユーザーのホームディレクトリ移動)

(2)fstabを編集する場合

  1. rootでログインしてTerminal.appを起動。または通常ユーザーでTerminal.appを起動しsuでrootに
  2. dittoコマンドで現在のホームディレクトリを複製(コマンドは下記)
    (10.3.xまで)ditto -v -rsrcFork /Users/ユーザー名 /Volumes/パーティション名/ユーザー名
    (10.4.x以降)ditto -v /Users/ユーザー名 /Volumes/パーティション名/ユーザー名
  3. 複製が終わるまで待つ
  4. /etc/fstabを作成する
    /etc/fstabは初期状態では存在しないので、Terminal.appで
    emacs /etc/fstab
    としてしまうと、ファイルを生成し、そのまま編集作業に入れるので便利。
  5. マウントポイントの指定を行う。書式は
    LABEL=パーティション名 /Users フォーマット(hfsまたはufs) rw(Mac OS X 10.3以降)
    LABEL=パーティション名 /Users フォーマット(hfsまたはufs) rw 1 2(Mac OS X 10.2.xの場合)
    デバイス名 /Users フォーマット(hfsまたはufs) rw 1 2(Mac OS X 10.1.xまで)
    Mac OS X 10.1.xまでで必要になるデバイス名はdfコマンドで確認できる/dev/disk0s10といった文字列
  6. 保存して終了
    emacsの場合、Control+x→Control+c→y+enterキー
  7. Terminal.appを終了
  8. Macを再起動

 なお、移す先のパーティションの名前はアルファベットで表記してあれば、何でもかまいません。例えばDataというパーティションでも、fstabでちゃんと指定してやれば、/Usersとしてマウントされ、ホームディレクトリとして機能します。(Mac OS X 10.2.3で確認しました。10.1.xまででどうなるかは未確認。でもおそらく大丈夫)
 既存の/Usersの内容は消去しなくても、問題ありません。(Mac OS X 10.2.3で確認しました)

 ここにたどりつくまでの試行錯誤の過程はこちら(試行錯誤の記録 : 特定のパーティションをUsersとしてマウントしてしまう方法)


追加情報

 井上様より追加情報をいただきました。10.3.3上では、適当な場所に移動後NetInfo Managerでホームディレクトリの設定を行っても、~/Sitesにあるデータを問題なく公開できているとのことです。
  また、合わせて井上様より情報をいただいたところでは、dittoを使わずにFinderでコピーしても問題なく動作しているとのことです。最近のFinderはずいぶんと改善されているようです。