ldapuseradd Example Configurations

Greg Schenzel (c) 2010

These examples are current as of ldapuseradd 0.9.2. You may download the latest version here: ftp://ftp.unixdev.net/pub/unixdev/ldapuseradd/.

Very Simple Config:

This is the simplest configuration possible. It is one-tier, with only home directories being managed. All users get defaults unless overidden on the command line.

global:
uidset=5000-60000
gidset=5000-6000
manage=home
ldapuri=ldap://127.0.0.1/
ldapbasedn=dc=example,dc=com
ldapbinddn=cn=admin,dc=example,dc=com
ldapbindpw=password
ldapuserdn=uid=%u,ou=People,dc=example,dc=com
ldapgroupdn=cn=%g,ou=Group,dc=example,dc=com
default=users
sqlserver=127.0.0.1
sqluser=root
sqlpw=ASK
home=/home/%u
shell=/bin/bash
user_template=users.ldap
group_template=groups.ldap
domain=example.com

users:
group=users

Simple Multi-Tier Config:

This configuration has three tiers of users (paid/free/dev). Free and dev have custom home directories and shells. Paid is the default tier and is set to rely upon the default home and shell parameters. All tiers manage user home directories, but "devusers" also manages mysql databases.

global:
uidset=5000-60000
gidset=5000-6000
manage=home
ldapuri=ldap://172.16.1.4/
ldapbasedn=dc=example,dc=com
ldapbinddn=cn=admin,dc=example,dc=com
ldapbindpw=ASK
ldapuserdn=uid=%u,ou=people,dc=example,dc=com
ldapgroupdn=cn=%g,ou=group,dc=example,dc=com
default=paidusers
sqlserver=172.16.1.3
sqluser=root
sqlpw=ASK
home=/fs/files/home/%u
shell=/bin/tcsh
user_template=users.ldap
group_template=groups.ldap
domain=example.com

paidusers:
group=1004

freeusers:
group=1003
home=/fs/files/www/uweb/users/%u
shell=/bin/false

devusers:
group=1005
manage=home,mysql
home=/home/uweb/devel/%u
shell=/bin/ksh

Advanced Multi-Tier Config:

This configuration has three tiers of users (students/faculty/alumni). It automatically creates symlinks for htdocs and the user Maildir in various places. External scripts are also in place for each tier. Students and Faculty get websites and personal databases, but Alumni get neither.

global:
uidset=10000-50000
gidset=10000-15000
manage=home,web,mail,sql,script
ldapuri=ldap://172.16.1.3/
ldapbasedn=dc=example,dc=com
ldapbinddn=cn=admin,dc=example,dc=com
ldapbindpw=ASK
ldapuserdn=uid=%u,ou=people,dc=example,dc=com
ldapgroupdn=cn=%g,ou=group,dc=example,dc=com
default=students
sqlserver=172.16.1.3
sqluser=root
sqlpw=ASK
home=/home/%u
shell=/bin/ksh
apachesites=/etc/apache2/sites-enabled/
apachedomain=example.com
apacheport=80
apachectl=/etc/init.d/apache2
user_template=users.ldap
group_template=groups.ldap
domain=example.com

students:
group=1004
home=/home/uweb/%u
web=/fs/files/www/uweb/%u
weblink=/home/uweb/%u/htdocs,/fs/files/www/vhost-dir/example.com/%u
mail=/home/uweb/%u/Maildir
maillink=/var/spool/maildir/%u
shell=/bin/tcsh
scriptadd=/usr/local/sbin/ext-students %u
scriptdel=/usr/local/sbin/ext-students %u delete

faculty:
group=1003
home=/fs/files/faculty/%u
web=/fs/files/www/%u
weblink=/fs/files/faculty/%u/htdocs,/fs/files/www/vhost-dir/example.com/%u
mail=/fs/files/faculty/%u/Maildir
maillink=/var/spool/maildir/%u
shell=/bin/ksh
scriptadd=/usr/local/sbin/ext-faculty %u
scriptdel=/usr/local/sbin/ext-faculty %u delete

alumni:
group=1005
manage=home,mail,script
home=/home/uweb/%u
mail=/home/uweb/%u/Maildir
shell=/bin/false
scriptadd=/usr/local/sbin/ext-alumni %u
scriptdel=/usr/local/sbin/ext-alumni %u delete