TBS-h574TXでTime Machineバックアップが認証エラー80で失敗する

ついに動かせました。めちゃくちゃ厄介です。


macOS 26.4 が黙って Time Machine の SMB バックアップを壊した—しかもネットの修正例はバグの半分しか直らない

TL;DR:バグは2つあります。 ネット上のスレッドはどれも最初のバグしか触れていません。だからどれも解決しません。

症状

  • バックアップが即座に BACKUP_FAILED_AUTHENTICATION_ERROR (29) / エラー80 で失敗する
  • 同じ認証情報でFinderからその共有をマウントできる
  • smbutil view //USER@nas.local は問題なく動く
  • Tahoe導入前から追加していた古いSynology/NAS宛ては動き続けるが、新たに追加した先は失敗する

2つのバグ

バグA — “isKnownServer 0”: Tahoeは保存されたSMB認証情報をホワイトリスト plist で制御。この修正はネット上にも多数:

sudo /usr/libexec/PlistBuddy -c 'Add :nas.local bool true' \
  '/private/var/root/Library/Group Containers/group.com.apple.NetworkAuthorization.ServerMarkers/serverMarkers.plist'

TMのURLに出てくる全てのホスト名形式(生の Bonjour FQDN+末尾のドット 例: NAS(TimeMachine)._smb._tcp.local. も含む)を追加すること。

バグB — キーチェーンACLのリグレッション(誰も触れない方):

  • 26.4の NetAuthSysAgentrootでなくユーザーUID (501) で動作
  • /Library/Keychains/System.keychain の各項目 ACL が重要に
  • 新しいTM設定GUIは partition_id=apple: ACLエントリ付きで項目を書き込むが、 NetAuthSysAgent がこれを通せず → Unable to find matching items -25300OpenSession failed 80
  • 直感的なコマンドは効かない: security add-internet-password -A(どんなアプリも許可)で作成される applications: <null> は「全て許可」ではなく「何も許可されない」扱い→まだ壊れたまま

完全な修正方法

バグBが出ているときのログシグネチャ:

isKnownServer 1
Unable to find matching items -25300   (x8-10)
OpenSession failed 80

キーチェーン項目を -A でなく明示的な -T 付きで再作成 します:

read -r -s "TMPW?SMB password: " && echo

for S in 'NAS(TimeMachine)._smb._tcp.local.' 'nas.local'; do
  sudo security delete-internet-password -a USER -s "$S" /Library/Keychains/System.keychain 2>/dev/null
  sudo security add-internet-password \
    -a USER -s "$S" -p /YourShare -r 'smb ' \
    -D 'Time Machine Network Password' \
    -T /System/Library/CoreServices/NetAuthAgent.app \
    -T /System/Library/CoreServices/NetAuthAgent.app/Contents/MacOS/NetAuthSysAgent \
    -T /System/Library/PrivateFrameworks/SystemAdministration.framework/XPCServices/writeconfig.xpc \
    -T /System/Library/CoreServices/TimeMachine/backupd \
    -T /System/Library/CoreServices/TimeMachine/backupd-helper \
    -w "$TMPW" \
    /Library/Keychains/System.keychain
done
unset TMPW

USER、ホスト名、 /YourShare(先頭スラッシュ、URLエンコード不可)をあなたの環境に合わせて置換。

確認手順

sudo security dump-keychain -a /Library/Keychains/System.keychain | less

項目を探します。動くACLは3つのエントリで、decryptするとAppleのヘルパーが列挙され、 partition_id無し。decryptで partition_id → apple:(4つ)、または applications: <null> (3つ)なら、上記のコマンドを実行してください。

ハマりどころ

  • -A は絶対使わず、常に -T を使うこと。
  • 必ず -w "$PASSWORD" をつける。 省略すると security はstdinを読むが、スクリプト/非TTYでは空→exit 0→パスワード無しの項目が生成されてしまう
  • -p の値はそのままのパス(例 /Time Machine - Server)、URLエンコードなし
  • -r 'smb 'のOSTypeは末尾スペースありの4文字
  • NetAuthSysAgent のuid-501動作が、DiskStation(Tahoe導入前に登録・異なるACLになってる)が動き続け、新登録先だけ失敗する本当の理由
  • Redditで有名な /etc/nsmb.conf signing_required=yes別種のSMB問題の修正で、バグBには無関係

この手順でバックアップが一発成功しました。誰かの日々のログ追いに救いとなりますように。