macOS12.6にアップデートしたら外出ししていたホームフォルダが見つからずにログインに失敗する話をツイートして、他のアカウントで再設定したら復旧したはずだったが、再起動すると同じ事象が再現した。
ちょっと原因もわからないし、まだmojaveから移行もしていないアカウントだったのでいっそのこと削除して再作成することにした。
システム環境設定からユーザを追加すると内蔵フラッシュにホームフォルダが作成されるため、はなから外出しのSSDにホームフォルダを作るためdsclコマンドを使ってCLIから追加することにした。
ネット上に例がたくさんあるので、それらを参考にした。
$ sudo dscl . -create /Users/hoge $ sudo dscl . -create /Users/hoge RealName hoge $ sudo dscl . -create /Users/hoge UserShell /bin/zsh $ sudo dscl . -create /Users/hoge UniqueID 502 $ sudo dscl . -create /Users/hoge NFSHomeDirectory /Volumes/SSD/hoge $ sudo createhomedir -b -u hoge
この後、システム環境設定からGIDとパスワードの変更をしてユーザ追加を完了した。
初めSSDの下にUsersフォルダを切ってからホームフォルダをその下に指定したのだが、createhomedirコマンドでパーミッションエラーとなりホームは作成されなかった。なので、一つ上に置いたら問題なく作成された。
これ以降、電源オフ後も再起動後も問題なくログインできた。