Hello,
I set up a new leopard server, and on my client (tiger) I try to login to the user with the leopard credentials, and it doesn't work. I then try to login with another user on the leopard directory and it works fine. Is there a clear mobile account data, or user data?
Assuming the UID value for the account is the same in Leopard Server as it was in Tiger server, this should be pretty easy.
On the Tiger client, log in as the local admin. Open NetInfo Manager, select Users, select the user account that is giving you trouble, and delete it. Deleting the account from NetInfo will ONLY delete the cached credentials, not the user data.
Save the changes to NetInfo, log off and then log back in as the user. You should be prompted to cache the account credentials. And if UID is the same and home folder path is the same, and password is the same, then everything will work as before.
Thanks for the help, You're a ^^^. Anywho I was under the impression that you needed to delete the user account, and I'm glad I got the netinfo clarification.
In any case, you can still accomplish the same process in Leopard but there are extra or more difficult steps. First, the easy way:
Setup: You have a user named John Doe with a mobile account jdoe and a local home folder /Users/jdoe. The system was bound to one domain server and now needs to be bound to another. The UID of jdoe's account will remain the same across the two domain servers.
1: Log into the workstation as the local admin
2: Open System Preferences
3: Click on Accounts (authenticate if needed)
4: Select the cached credentials from the list and press the - button
5: When the dialog appears, choose "Don't change the home folder"
6: Press OK.
All good, except the "don't change home folder" still changes the home folder! It goes from "jdoe" to "jdoe (Deleted)." Thus, if you log the admin off and attempt to log back in as jdoe, you will be successful, you will be prompted to cache the account, but... You will also create a new home folder and John Doe (who will likely be looking over your shoulder) will panic and start screaming something about all his data being gone from the Desktop.
So, before you log in as the user, do these few extra steps:
7: Rename jdoe (Deleted) back to jdoe using sudo mv
8: Log off from the admin account
9: Log in as jdoe and opt to cache the account. This should drop you back into the existing /Users/ jdoe folder and all data should be intact.
The harder way (for some) is to simply remove the user record from the DSLocal database. For example, all accounts are represented by flat files stored in /var/db/dslocal/nodes/Default/users. In the example above, remove the jdoe.plist file and then log off from the admin account. Log back in as jdoe to recreate a new jdoe.plist file. This method means that you do not need to alter the folder name but it does place you in a sensitive place in the file system.
Does this have the same effect of removing the user in gui. I was pretty sure it did. Also the mv command doesn't and probably wont always work. I've found that they do the home directory by uuid so you can do a mv, and it will still use the renamed home directory. It's kinda a pain, but I can see why they did it. Thanks for all your help I appreciate it.
dscl is another way. And what you wrote looks like it would work just as well.
If your accounts have different UIDs, then use chown instead of mv. The idea is that if you have an account on the old domain, again jdoe who had a UID of 1035, and then jdoe is recreated on a new domain with UID of 1040, then you will have an issue as while the home folder path matches, UID will not.
In this case, remove the account record, bind to the new domain, and then simply chown -R to the same owner name. This will update the UID for all files in the home folder.