2026-06-02 time-machine: fix root causes, add recovery notes

This commit is contained in:
Alexey Martemyanov
2026-06-02 19:34:46 +06:00
parent 48278e82af
commit 02e1cef890
+12 -3
View File
@@ -12,13 +12,22 @@ Destination: `smb://timemachine@kraken/TimeMachine`
Бандл лежит на TrueNAS, смонтирован в контейнер:
`/srv/dev-disk-by-uuid-49e8f586-3839-4c5d-a1e1-58bfc3579ade/timemachine/`
## Важно при перезапуске контейнера
После `docker compose up` образ устанавливает пароль через smbpasswd автоматически (из `PASSWORD` в `.env`). Если монтирование не работает после рестарта — запустить вручную:
```bash
ssh kraken 'echo -e "timemachine\ntimemachine" | docker exec -i timemachine smbpasswd -s timemachine'
```
## Сбой аутентификации (2026-06-02)
Симптом: Time Machine показывает «The network backup disk could not be accessed because there was a problem with the network username or password». Ping `kraken` работает, SMB-шар смонтировать через `mount_smbfs` — тоже.
Причины:
1. **Пароль samba-пользователя слетел**контейнер timemachine жив, но `smbpasswd` не задан. Проверка: `ssh kraken 'docker exec timemachine pdbedit -L'` — если не показывает NT hash после password last set, пароль надо переустановить.
2. **Keychain на Eagle хранит устаревший пароль**macOS кэширует старый пароль и не обновляет его автоматически.
Причины (все три были одновременно):
1. **`PASSWORD=` пустая в docker-compose** — `.env` имел `TM_PASSWORD` вместо `PASSWORD`, volumes path был вписан в `environment` секцию. Контейнер стартовал с пустым паролем.
2. **`ntlm auth = no` в smb.conf** — Samba отклоняла NTLM при реаутентификации backupd (`error 57 Socket is not connected`, `Authentication error 80`). Finder mount работал (первичное подключение), backupd падал при reconnect.
3. **`/run/samba` не персистентный** — tdbsam с паролями не сохранялся между перезапусками контейнера.
4. **System.keychain** — backupd хранит credentials в System.keychain, не в login keychain. Finder использует login keychain — поэтому Finder mount работал а TM нет.
### Восстановление