66

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.

4 Answers 4

64

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.

3
  • 1
    Thanks for the nice answer. Actually I am more interested in centralized authentication.
    – Pablo
    Aug 11, 2010 at 20:47
  • 1
    Kerberos would give you centralized authentication. And it's the core protocol used for authentication in AD anyways :) Aug 12, 2010 at 1:12
  • Samba really shouldn't be relegated to a footnote in this answer. Nowadays Samba is not just able to mimic a DC, it is fully capable of serving as the primary DC and hosting an AD forest standalone, no Windows servers required. And of course this is integrated with the file-server service (though they recommend using a 2nd DC for file-server duty),
    – ghostly_s
    Feb 19 at 8:47
13

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+.

4
  • 1
    Works well with NFS (for sharing the actual files)
    – pjc50
    Apr 11, 2011 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, 2014 at 16:48
  • does NIS work with Windows clients?
    – knocte
    Mar 7, 2016 at 11:10
  • NIS doesn't work with Windows clients - you'll need Active Directory for that.
    – dr-jan
    Mar 7, 2016 at 17:01
1

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
  • 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, 2010 at 20:46
1

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.