Is it possible to store user's home directories remotely?

Solution 1:

There are several software solutions designed especially for those task, but I can suggest a simple ad-hoc solution:

  1. On server, create a single grand /home directory and share it by NFS.
  2. On each client, move following files so that they, too, reside in NFS and share between PCs. /etc/passwd - user account information less the encrypted passwords /etc/shadow - contains encrypted passwords /etc/group - user group information /etc/gshadow - - group encrypted passwords
  3. Mount NFSs at boot on each client.

However, the problem is that some quirky PAM tricks do not play along with shared user settings. Those are the cases when you need a specific software.

Solution 2:

You will need more than one component to do this, and be aware that there are many ways to accomplish this;

At first you will need to have an Linux Domain Controller (Like Windows AD), to do your AAA. Then also an database server must be used to store these information (LDAP in most cases). There are "all-in-one" solutions for this like Fedora 389DS.

And then you will need a storage server with;

  • A 'private' share per user, which stores the user profile and personal data.
  • [OPT] A 'shared' share, only available for certain groups, users etc.

Here you can also chose between software like Samba (which is the one you'll find the most docs on), Open Media Vault, FreeNAS etc.

After that you will still need to look at ting such as WebDav to make your shares accessible from outside your LAN, or on mobile devices. Even then there are a lot more things that can be configured and implemented to improve overall usability.

There is something called Zentyal which is a Windows SMB-like server, based on Ubuntu that can do all this things with a nice web-GUI.

It is simply too much to explain everything in a post, but this will give you some info tho get started. If you want some more explanation about a specific part, just make a post.