Jan 23
Changing a user's home directory on Mac OS X Snow Leopard
I managed to mess up a PostgreSQL install on my Mac, which (somehow) left the postgres user account with an invalid home directory. Fixing this took quite a bit of digging.
First, launch the 'dscl' command as an administrator (probably with sudo). This drops you at a prompt, where familiar commands like cd, ls, cat and so on work. So, to change the user's home directory, I did:
bash $ sudo dscl > cd /Local/Default/Users /Local/Default/Users > ls ... user list ... nobody postgres /Local/Default/Users > cat postgres AppleMetaNodeLocation: /Local/Default NFSHomeDirectory: /Users/dan/opt/pgsql Password: * PrimaryGroupID: 1 RealName: PostgreSQL RecordName: postgres RecordType: dsRecTypeStandard:Users UniqueID: 504 UserShell: /bin/bash /Local/Default/Users > change postgres NFSHomeDirectory /Users/dan/opt/pgsql /usr/local/pgsql /Local/Default/Users > q Goodbye bash $
After that, the postgres user had a valid home directory, and all was well with the world.
I've disabled comments for now due to spam problems - I'll turn them back on when I've fixed it!