LDAP

From NURDspace
Revision as of 14:16, 4 April 2013 by Fwd (talk | contribs) (→‎To do)

For use with SpaceNet we've installed OpenLDAP on nurdserver. On the new Nurdserver v2 we're going serious with LDAP.

Working implementations on Nurdserver v1 (nurdserver)

Working implementations on Nurdserver v2 (nurdservices)

To do

  • FTPd
  • Samba?
  • Get a certificate, allow access only over TLS
  • Create homedir on NFS-export when adding a user to LDAP (maybe like this?)
  • Setting "change password on first login" in FusionDirectory doesn't get enforced through PAM
  • Migrate all local users on Infra machines to LDAP
  • Migrate all homedirs to Nurdservices
  • Migrate all users in the old LDAP on NURDServer (check if they are still needed)
  • Migrate wiki users and merge them with other users
  • Use LDAP as userdb back-end for wiki
  • Add all relevant fields of Wiki users to LDAP profiles
  • Maintain Members page from LDAP (Like so, but this has limitations. Maybe only members details pages?)
  • Maintain sudo'ers through the LDAP and disable local root accounts like so (backdoor in case of emergency?)
  • Disable all relevant services on Nurdserver v1

Status

I've installed FusionDirectory on a new VM called nurdservices on the proxmox system of Nurdserver v2. I've also added a couple of users to it.

It can be accessed on http://nurdservices/fusiondirectory from within the network.

On Sinterklaas, Vjdeb and the PrinterPC I've got it to work as I think it should be for the local users that existed:

  • Homedirs moved to nfs mount from Nurdservices
  • Local homedirs and users deleted (except user 'printer' on PrinterPC)
  • /home/ is mounted over nfs on boot
  • LDAP users can log in and see their homedirs as if nothing has changed

Setting up other workstations in this way

To get this to work you need to:

  • create all local users in LDAP (if they don't exist already)
  • move homedirs to nurdservices (fix ownership if needed)
  • delete local users (optional)
  • delete local homedirs
  • install libnss-ldapd
  • config the binddn (read-user) in pam_ldap.conf and nslcd.conf (this is needed to look up the cn based on the UID the user inputs)
  • mount /home from nurdservices over nfs
  • configure the ldap in nss and pam (no ssl, so ldap://nurdservices/)
  • and add a line to /etc/pam.d/common-account:

session required pam_mkhomedir.so skel=/etc/skel/ umask=0022

This step will no longer be needed once homedirs are created when you add a user to the LDAP.

Also useful: http://www.debian-administration.org/article/OpenLDAP_installation_on_Debian#NSS_configuration