Puppet module for managing NSLCD
Go to file
2015-11-20 11:54:30 -05:00
manifests Removed whitespace. 2015-11-20 11:54:30 -05:00
spec Migrating into modulesync 2015-04-23 14:32:48 -04:00
templates Added a lot more parameters. 2015-11-20 11:36:19 -05:00
tests Initial import 2015-04-16 18:04:30 -04:00
.fixtures.yml Initial import 2015-04-16 18:04:30 -04:00
.gitignore Migrating into modulesync 2015-04-23 14:32:48 -04:00
.travis.yml Migrating into modulesync 2015-04-23 14:32:48 -04:00
CONTRIBUTING.md Migrating into modulesync 2015-04-23 14:32:48 -04:00
Gemfile Migrating into modulesync 2015-04-23 14:32:48 -04:00
Gemfile.lock Initial import 2015-04-16 18:04:30 -04:00
metadata.json Release version 0.1.1 2015-05-16 12:33:03 -04:00
Rakefile Updated lint configuration 2015-05-16 12:33:02 -04:00
README.md Added examples of hashed values for ldap_filters and ldap_maps. 2015-11-20 11:51:03 -05:00

nslcd

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with nslcd
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

This module installs and configured nslcd to get pam/nss data from ldap.

Module Description

This module allows you to install and configure the nslcd daemon (and its dependencies), to provide ldap support for PAM and NSS.

Setup

What nslcd affects

  • nslcd package and service
  • /etc/nslcd.conf

Usage

Simply include/contain/required/declare the nslcd class. It includes a few sane defaults, so it should work out of the box. However, we recommend that you declare the class and override a few parameters:

class { 'nslcd':
  ldap_uris    => ['ldap://ldap.mycompany.com'],
  ldap_ssl     => 'on',
  ldap_filters => { group  => '(&(objectClass=group)(gidNumber=*))',
                    passwd => '(&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))',
                    shadow => '(&(objectClass=user)(!(objectClass=computer))(uidNumber=*)(unixHomeDirectory=*))',
                  },
  ldap_maps    => { group  => 'uniqueMember member',
                    passwd => ['homedirectory unixHomeDirectory', 'uid sAMAccountName', 'gecos displayName', ],
                    shadow => ['shadowLastChange pwdLastSet', 'uid sAMAccountName', ],
                  },
}

Reference

todo

Limitations

The module has been tested with Ubuntu 12.04 and 14.04, Debian 6 and 7, and Puppet 3.7. It should work Puppet 3.x. For additional OS support, you should contribute it back upstream!

The module doesn't support setting the rootbinddn and rootbindpw attributes, but it can be easily added.

Development

If you want to improve this module, send us a patch of pull request!