Category Archives: User Management

Puppet: User Management and /home over NFS

I was looking for a way to automate user configuration management on 20 Linux machines that I have been administering for several months now. In my setup I want to see following:

  • add a user once, have him/her on as many machines as you define
  • share users’ home directories over the network

There are many ways to have it done. I wanted to see how this can be achieved with Puppet for several reasons, mainly, because I want to have as much config management under the same hood as possible. And I am just starting with Puppet, so comments are welcome.

To implement the user management setup I need three modules:

  • users – will define users, their passwords, ssh-keys (optional), default shells etc
  • nfs_server – will share /home directory over NFS
  • nfs_client – will mount the shared /home directory as /home

In this demo I have three machines, all running Debian Squeeze:

  • – is the puppet master
  • – NFS server, will share /home over the network
  • – NFS client, will mount /home from node1

Read more of this post