I have a couple of machines at home (plus a number of Linux boxes running in VMs) and I am planning to use one of them as a centralized file server.

Since I am more a Linux user rather than a sysadmin, I'd like to know what is the equivalent of, let's say "Active Directory"? My objective is to have my files in any of the machines that I logon in my network.


You either build your own Active Directory-equivalent from Kerberos and OpenLDAP (Active Directory basically is Kerberos and LDAP, anyway) and use a tool like Puppet (or OpenLDAP itself) for something resembling policies, or you use FreeIPA as an integrated solution.

There's also a wide range of commercially supported LDAP servers for Linux, like Red Hat Directory Server. RHDS (like 389 Server, which is the free version of RHDS) has a nice Java GUI for management of the directory. It does neither Kerberos nor policies though.

Personally, I really like the FreeIPA project and I think it has a lot of potential. A commercially supported version of FreeIPA is included in standard RHEL6 subscriptions, I believe.

That said, what your are asking about is more like a fileserver solution than an authentication solution (which is what AD is). If you want your files on all machines you log into, you have to set up an NFS server and export an NFS share from your fileserver to your network. NFSv3 has IP-range based ACL's, NFSv4 would be able to do proper authentication with Kerberos and combines nicely with the authentication options I described above.

If you have Windows boxes on your network, you will want to setup a Samba server, which can share out your files to Linux and Windows boxes alike. Samba3 can also function as an NT4 style domain controller, whereas Samba4 is able to mimic a Windows 2003 style domain controller.

  • 1
    Thanks for the nice answer. Actually I am more interested in centralized authentication.
    – Pablo
    Aug 11 '10 at 20:47
  • 1
    Kerberos would give you centralized authentication. And it's the core protocol used for authentication in AD anyways :) Aug 12 '10 at 1:12

If you just want centralized authentication, look at NIS or NIS+ (formerly known as yellow pages which is why all the commands begin with 'yp').

Configure your main server as the master NIS server, then configure all the other boxes to use NIS to authenticate users.

The wikipedia page for NIS and the Linux NIS Howto.

For a basic home network NIS will be fine. If you need more control over which users can see which servers you'll need to use NIS+.

  • 1
    Works well with NFS (for sharing the actual files)
    – pjc50
    Apr 11 '11 at 13:04
  • Yes, use NFS to make user home directories available on all servers, plus whichever other directories you need to share.
    – dr-jan
    Mar 10 '14 at 16:48
  • does NIS work with Windows clients?
    – knocte
    Mar 7 '16 at 11:10
  • NIS doesn't work with Windows clients - you'll need Active Directory for that.
    – dr-jan
    Mar 7 '16 at 17:01

If you're really just trying to share files from one server to a few other machines, you may just want to use something simpler like Samba (especially if you're interoperating with some Windows clients) or NFS shares.

  • 1
    Ideally I would like to have a centralize user database, hence my question. I don't want to create the same user accounts on all computers.
    – Pablo
    Aug 11 '10 at 20:46

I have tried OpenLDAP and Samba 3.x and both won't give you the centralized authentication that you are looking for. As wzzrd said, Samba 4.x probably will give you that. Samba 3.x domain controller is more like a workgroup option. You still need to create users in Unix/Samba as well as Windows and then map them. In the end I removed OpenLDAP and use only Samba now.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.