Set your /home directory as follows:
Code:
root> ls -ld /home
drwx--x--- 12 root users 1024 Sep 13 18:48 /home
Additionally I create a group for each user. So if I have an user account named melvin then I also create a group named melvin. Then the melvin account belongs to the melvin group.
Code:
root> groups melvin
melvin : users lp melvin
Then the /home/melvin directory is owned by melvin:melvin.
Code:
root> ls -ld /home/melvin
drwx------ 22 melvin melvin 2048 Sep 13 18:58 /home/melvin
As this relates to your initial post, the users will not be able to see the contents of the /home directory at all so this doesn't exactly match your stated requirement.
Code:
melvin> ls /home
/bin/ls: /home: Permission denied
But it keeps users from browsing the /home directory and it keeps the updatedb cron job, running under the nobody account, from indexing user files.