ドメインに参加した Mac の Time Machine を NAS に戻す ― 認証エラー 80、専用ユーザー、中の権限、固まった部品
mac2 の Time Machine が、NAS にバックアップできなくなっていました。自動のバックアップはオフのまま、手で始めても「バックアップ先をつなげない(エラー 29)」です。原因を1つずつ外していき、最終的に専用のユーザーと共有フォルダーに移し、元のバックアップ(702GB)を引き継いで動かしました。mac2 は家の AD(ドメイン)に参加していて、NAS も同じ AD に参加しているのが、話をややこしくしていました。
- Time Machine:macOS の自動バックアップ。NAS に置くときは、sparsebundle という分割されたディスクイメージに書く
- AD に参加した NAS:名前だけでつなぐと「ドメインのユーザー」として扱い、NAS 本体のユーザーとしてつなぐには
NAS;ユーザー名のように書く必要がある

1. 記録から分かったこと
- Time Machine(backupd)の記録は「認証エラー(80)」。しかも、NAS に問い合わせる前の一瞬で失敗していた
- NAS の接続の記録には、Time Machine からの試みが1件も無かった。AD のユーザーにも、パスワードの失敗の記録は無い
- 一方、手で
mount_smbfsすると、普通のユーザーでも root でも成功する
つまり、失敗は mac2 の中で起きていました。Finder の「サーバへ接続」も同じように失敗していたことから、Finder と Time Machine が共通で使う、macOS の接続の部品(NetAuthSysAgent)が固まっていたとみられます。sudo killall NetAuthSysAgent で再起動すると(必要になれば macOS が自動で起動し直す)、バックアップ先の登録が通るようになりました。
2. 専用のユーザーと共有フォルダーに移す
部品の問題とは別に、NAS;ユーザー名 の書き方と Time Machine の相性も疑わしかったので、Time Machine 専用にしました。
- NAS 本体に、専用のユーザー
tmbackupを作成。ただ、名前だけでは AD のユーザーとして扱われ、つながらなかった → AD にも同じ名前・同じパスワードのtmbackupを作成し、NAS の共有フォルダーには AD の方に読み書きを付けた。これで、名前だけ(smb://tmbackup@NAS/TimeMachine)でつながる - NAS の共有フォルダー
TimeMachineは、「Time Machine バックアップフォルダーとして設定する」をオン、ごみ箱はオフ(Time Machine が消した古いデータがたまらないように) - 元のバックアップは、同じ共有の中なので、名前の付け替えだけで移動できた(0.3秒)
3. 中のファイルの権限
移したバックアップには、以前に個別に付けた権限が残っていて、tmbackup では中に書き込めませんでした。NAS の画面の「変更をファイルとサブフォルダーに適用する」「すべての既存の権限を置き換える」を試しても、中まで届きませんでした。
そこで、Samba の smbcacls で、バックアップとその中に直接追加しました。
smbcacls -A 認証ファイル //NAS/homes "TimeMachine/Mac名.sparsebundle" \
--propagate-inheritance -a 'ACL:ドメイン\tmbackup:ALLOWED/OI|CI/FULL'
持ち主が違う2つのファイルだけは届かなかったので、1つずつ -a で付けました。最後に、中の全ファイルを tmbackup で読み書きで開けることを確かめています。
4. 元のバックアップを引き継ぐ
- 登録し直して最初のバックアップは、元のものを使わず、新しいバックアップ(日付付きの名前)を作り始めた → すぐ止めた(
tmutil stopbackup) sudo tmutil inheritbackup "…/Mac名.sparsebundle"で、元のバックアップをこの Mac のものとして引き継いだ- 空の新しいバックアップは、mac2 で開いたままになっていたディスクイメージを外して(
hdiutil detach)から消した - そのあと、自動のバックアップが元のバックアップで動き始めた
途中で画面から登録し直したとき、Time Machine は元のバックアップの名前を「…(Mac の ID).incomplete」に変えていました。消えたわけではなく、引き取り中の印です。中身(702GB)がそろっていることを確かめてから、元の名前に戻して使っています。
