Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Installation
- $ sudo apt-get --yes install slapd ldap-utils
- Configuration
- $ sudo gedit /etc/default/slapd
- SLAPD_CONF=/etc/ldap/slapd.conf
- $ sudo rm -r /etc/ldap/slapd.d
- $ sudo gedit /etc/ldap/slapd.conf
- # This is the main slapd configuration file. See slapd.conf for more
- # info on the configuration options.
- #######################################################################
- # Global Directives:
- # Features to permit
- # allow bind_v2
- # Schema and objectClass definitions
- include /etc/ldap/schema/core.schema
- include /etc/ldap/schema/cosine.schema
- include /etc/ldap/schema/nis.schema
- include /etc/ldap/schema/inetorgperson.schema
- # Where the pid file is put. The init.d script
- # will not stop the server if you change this.
- pidfile /var/run/slapd/slapd.pid
- # List of arguments that were passed to the server
- argsfile /var/run/slapd/slapd.args
- # Read slapd.conf(5) for possible values
- loglevel none
- # Where the dynamically loaded modules are stored
- modulepath /usr/lib/ldap
- moduleload back_hdb
- # The maximum number of entries that is returned for a search operation
- sizelimit 500
- # The tool-threads parameter sets the actual amount of cpu's that is used
- # for indexing.
- tool-threads 1
- #######################################################################
- # Specific Backend Directives for hdb:
- # Backend specific directives apply to this backend until another
- # 'backend' directive occurs
- backend hdb
- #######################################################################
- # Specific Backend Directives for 'other':
- # Backend specific directives apply to this backend until another
- # 'backend' directive occurs
- #backend <other>
- database config
- #######################################################################
- # Specific Directives for database #1, of type hdb:
- # Database specific directives apply to this databasse until another
- # 'database' directive occurs
- database hdb
- # The base of your directory in database #1
- suffix "dc=linuxtest,dc=huree"
- # rootdn directive for specifying a superuser on the database. This is needed
- # for syncrepl.
- rootdn "cn=admin,dc=linuxtest,dc=huree"
- rootpw abc123
- # Where the database file are physically stored for database #1
- directory "/var/lib/ldap"
- # The dbconfig settings are used to generate a DB_CONFIG file the first
- # time slapd starts. They do NOT override existing an existing DB_CONFIG
- # file. You should therefore change these settings in DB_CONFIG directly
- # or remove DB_CONFIG and restart slapd for changes to take effect.
- # For the Debian package we use 2MB as default but be sure to update this
- # value if you have plenty of RAM
- dbconfig set_cachesize 0 2097152 0
- # Sven Hartge reported that he had to set this value incredibly high
- # to get slapd running at all. See http://bugs.debian.org/303057 for more
- # information.
- # Number of objects that can be locked at the same time.
- dbconfig set_lk_max_objects 1500
- # Number of locks (both requested and granted)
- dbconfig set_lk_max_locks 1500
- # Number of lockers
- dbconfig set_lk_max_lockers 1500
- # Indexing options for database #1
- index objectClass eq
- # Save the time that the entry gets modified, for database #1
- lastmod on
- # Checkpoint the BerkeleyDB database periodically in case of system
- # failure and to speed slapd shutdown.
- checkpoint 512 30
- # Where to store the replica logs for database #1
- # replogfile /var/lib/ldap/replog
- # The userPassword by default can be changed
- # by the entry owning it if they are authenticated.
- # Others should not be able to see it, except the
- # admin entry below
- # These access lines apply to database #1 only
- # acl specific for phamm
- access to attrs=userPassword,shadowLastChange
- by dn="cn=admin,dc=linuxtest,dc=huree" write
- by anonymous auth
- by self write
- by * none
- access to *
- by dn="cn=admin,dc=linuxtest,dc=huree" write
- by * read
- access to dn.base="" by * read
- # For Netscape Roaming support, each user gets a roaming
- # profile for which they have write access to
- #access to dn=".*,ou=Roaming,o=morsnet"
- # by dn="cn=admin,dc=yourdomain,dc=tld" write
- # by dnattr=owner write
- #######################################################################
- # Specific Directives for database #2, of type 'other' (can be hdb too):
- # Database specific directives apply to this databasse until another
- # 'database' directive occurs
- #database <other>
- # The base of your directory for database #2
- #suffix "dc=debian,dc=org"
- Populating LDAP
- $ sudo gedit /etc/ldap/init.ldif
- dn: dc=linuxtest,dc=huree
- objectClass: dcObject
- objectClass: organizationalUnit
- dc: linuxtest
- ou: My Example File
- dn: cn=admin,dc=linuxtest,dc=huree
- objectClass: simpleSecurityObject
- objectClass: organizationalRole
- cn: admin
- description: LDAP administrator
- userPassword: abc123
- $ sudo /etc/init.d/slapd stop
- $ sudo rm -rf /var/lib/ldap/*
- $ sudo slapadd -v -l /etc/ldap/init.ldif
- $ sudo chown -R openldap:openldap /var/lib/ldap
- $ sudo /etc/init.d/slapd start
- $ ldapsearch -xLLL -b "dc=linuxtest,dc=huree"
- LDAP Authentication
- $ sudo apt-get install libpam-ldap libnss-ldap nss-updatedb libnss-db ldap-auth-client ldap-auth-config
- $ sudo gedit /etc/ldap/ldap.conf
- host 127.0.0.1
- BASE dc=linuxtest,dc=huree
- URI ldap://linuxtest.huree
- rootbinddn cn=admin,dc=linuxtest,dc=huree
- bind_policy soft
- $ sudo gedit /etc/nsswitch.conf
- passwd: files ldap
- group: files ldap
- shadow: files ldap
- $ sudo gedit /etc/pam.d/common-account
- account sufficient pam_ldap.so
- account required pam_unix.so
- $ sudo gedit /etc/pam.d/common-session
- session sufficient pam_ldap.so
- session required pam_unix.so
- $ sudo gedit /etc/pam.d/common-auth
- auth sufficient pam_ldap.so
- auth required pam_unix.so nullok_secure use_first_pass
- $ sudo gedit /etc/pam.d/common-password
- password sufficient pam_ldap.so
- password required pam_unix.so nullok obscure min=4 max=8 md5
- Creating User
- $sudo mkdir /export/banana
- $sudo chown -R banana.users /export/banana
- $sudo chmod -R 0700 /export/banana
- Backup LDAP database
- $ sudo /usr/sbin/slapcat -v -n 1 -l /etc/ldap/backup.ldif
- Restore LDAP database
- $ sudo /etc/init.d/slapd stop
- $ sudo rm -rf /var/lib/ldap/*
- $ sudo slapadd -v -l /etc/ldap/backup.ldif
- $ sudo chown -R openldap:openldap /var/lib/ldap
- $ sudo /etc/init.d/slapd restart
- Creating LDAP database
- $ sudo gedit /etc/ldap/init.ldif
- dn: dc=jason,dc=huree
- objectClass: dcObject
- objectClass: organizationalUnit
- dc: jason
- ou: My Example File
- dn: cn=admin,dc=jason,dc=huree
- objectClass: simpleSecurityObject
- objectClass: organizationalRole
- cn: admin
- description: LDAP administrator
- userPassword: ******
- dn: dc=Users,dc=jason,dc=huree
- objectClass: domain
- dc: Users
- dn: dc=Groups,dc=jason,dc=huree
- objectClass: domain
- dc: Groups
- dn: uid=apple,dc=jason,dc=huree
- cn: apple
- uid: apple
- uidNumber: 1001
- loginShell: /bin/bash
- homeDirectory: /export/apple
- gidNumber: 100
- userPassword:
- objectClass: posixAccount
- objectClass: shadowAccount
- objectClass: person
- objectClass: inetOrgPerson
- gecos: apple
- sn: apple
- dn: uid=apple,dc=Users,dc=jason,dc=huree
- cn: apple
- uid: apple
- uidNumber: 1001
- loginShell: /bin/bash
- homeDirectory: /export/apple
- gidNumber: 100
- userPassword:
- objectClass: posixAccount
- objectClass: shadowAccount
- objectClass: person
- objectClass: inetOrgPerson
- shadowLastChange: 15094
- gecos: apple
- sn: apple
- dn: uid=banana,dc=jason,dc=huree
- cn: banana
- uid: banana
- uidNumber: 1002
- loginShell: /bin/bash
- homeDirectory: /export/banana
- gidNumber: 100
- userPassword:
- objectClass: posixAccount
- objectClass: shadowAccount
- objectClass: person
- objectClass: inetOrgPerson
- gecos: banana
- sn: banana
- dn: uid=banana,dc=Users,dc=jason,dc=huree
- cn: banana
- uid: banana
- uidNumber: 1002
- loginShell: /bin/bash
- homeDirectory: /export/banana
- gidNumber: 100
- userPassword:
- objectClass: posixAccount
- objectClass: shadowAccount
- objectClass: person
- objectClass: inetOrgPerson
- shadowLastChange: 15094
- gecos: banana
- sn: banana
- $ sudo /etc/init.d/slapd stop
- $ sudo rm -rf /var/lib/ldap/*
- $ sudo slapadd -v -l /etc/ldap/init.ldif
- $ chown -R openldap:openldap /var/lib/ldap
- $ /etc/init.d/slapd restart
Advertisement
Add Comment
Please, Sign In to add comment