I've run into some problems with how I've got user home directories set up on our system here.
Our server is an XServe, using Open Directory to manage the user accounts.
The majority of our workstations are OS X, but there are a few running Linux (Centos 5.3), and, as time goes on, we expect the proportion of Linux workstations to increase (at some point, we expect to move the server side over to Linux too, but for now we're running with what we've already got)
To ensure that the Linux and OS X workstations both see user's home directories in the same place, I shared the home directories using NFS.
On the server end, the home directories are stored in:
/Volumes/data/company_users
This is mounted on the workstations to:
/mount/company_users
This work fine on the Linux workstations, but there is some weirdness under OS X.
For the user who is logged in through the GUI, it all works just fine. However, if a user tries to SSH into a machine that they are not the primary user on, they often have no access to their own home directory.
It looks as though OS X is trying to do something else to the user home directories mount point when you log in through the GUI....
For example, on this machine (nv001), I (hugh) am logged into the GUI.
Last login: Mon Mar 8 18:17:52 on ttys011
[nv001:~] hugh% ls -al /mount/company_users
total 40
drwxrwxrwx 26 hugh wheel 840 27 Jan 19:09 .
drwxr-xr-x 6 admin admin 204 19 Dec 18:36 ..
drwx------+ 128 hugh staff 4308 27 Feb 23:36 hugh
drwx------+ 26 matt staff 840 4 Dec 14:14 matt
[nv001:~] hugh%
So Matt's home directory is accessible to him. However, if I try to switch to him:
[nv001:~] hugh% su - matt
Password:
su: no directory
[nv001:~] hugh%
Or:
[nv001:~] hugh% su matt
Password:
tcsh: Permission denied
tcsh: Trying to start from "/mount/company_users/matt"
tcsh: Trying to start from "/"
[nv001:/] matt%
Does anyone have any idea why it might be doing this? It's causing me all sorts of problems at the moment... The only machine that I can successfully switch users at the moment is the server that the user directories are stored on, where /mount/company_users is actually just a symlink to /Volumes/data/company_users