I've always used LDAP or NIS for central user authentication. I've never worked in a company that had more than a few dozen employees, and I only work with production systems. The only reason I set it up is so that I don't have to add users everywhere, and for authenticating against local web tools. I'm starting to think this is silly, and that I should just manage all of my users in Puppet, and write a method to turn those user statements into htpasswd files, then call it a day. What do you think, LDAP or Puppet?