howtos:setup_script
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Last revision | |||
— | howtos:setup_script [02/12/2018 21:34] – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | First script builds up the structure and put in some basic permissions: | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | passwd=password | ||
+ | dc1=example | ||
+ | dc2=net | ||
+ | hash_pw=`slappasswd -s $passwd` | ||
+ | tmpdir=/tmp | ||
+ | # | ||
+ | ldapadd -Y EXTERNAL -H ldapi:/// -f / | ||
+ | ldapadd -Y EXTERNAL -H ldapi:/// -f / | ||
+ | ldapadd -Y EXTERNAL -H ldapi:/// -f / | ||
+ | ldapadd -Y EXTERNAL -H ldapi:/// -f / | ||
+ | # | ||
+ | # database.ldif | ||
+ | # | ||
+ | cat <<EOF > $tmpdir/ | ||
+ | # Load dynamic backend modules | ||
+ | dn: cn=module{0}, | ||
+ | objectClass: | ||
+ | cn: module{0} | ||
+ | olcModulePath: | ||
+ | olcModuleLoad: | ||
+ | |||
+ | # Create directory database | ||
+ | dn: olcDatabase={1}hdb, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | olcDatabase: | ||
+ | olcDbDirectory: | ||
+ | olcSuffix: dc=$dc1, | ||
+ | olcRootDN: cn=admin, | ||
+ | olcRootPW: $hash_pw | ||
+ | olcAccess: {0}to attrs=userPassword, | ||
+ | olcAccess: {1}to dn.subtree=" | ||
+ | olcAccess: {2}to dn.base="" | ||
+ | olcAccess: {3}to * by dn=" | ||
+ | olcLastMod: TRUE | ||
+ | olcDbCheckpoint: | ||
+ | olcDbConfig: | ||
+ | olcDbConfig: | ||
+ | olcDbConfig: | ||
+ | olcDbConfig: | ||
+ | olcDbIndex: uid pres,eq | ||
+ | olcDbIndex: cn,sn,mail pres, | ||
+ | olcDbIndex: objectClass eq | ||
+ | ################################ | ||
+ | # Modifications | ||
+ | ################################ | ||
+ | |||
+ | dn: cn=config | ||
+ | changetype: modify | ||
+ | |||
+ | dn: olcDatabase={-1}frontend, | ||
+ | changetype: modify | ||
+ | delete: olcAccess | ||
+ | |||
+ | dn: olcDatabase={0}config, | ||
+ | changetype: modify | ||
+ | add: olcRootDN | ||
+ | olcRootDN: cn=admin, | ||
+ | |||
+ | dn: olcDatabase={0}config, | ||
+ | changetype: modify | ||
+ | add: olcRootPW | ||
+ | olcRootPW: $hash_pw | ||
+ | |||
+ | dn: olcDatabase={0}config, | ||
+ | changetype: modify | ||
+ | delete: olcAccess | ||
+ | EOF | ||
+ | sudo ldapadd -Y EXTERNAL -H ldapi:/// -f $tmpdir/ | ||
+ | #################################### | ||
+ | # Mini DIT | ||
+ | #################################### | ||
+ | cat << | ||
+ | # Tree root | ||
+ | |||
+ | dn: dc=$dc1, | ||
+ | objectClass: | ||
+ | objectclass: | ||
+ | o: $dc1.$dc2 | ||
+ | dc: $dc1 | ||
+ | description: | ||
+ | |||
+ | # Populating | ||
+ | dn: cn=admin, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | cn: admin | ||
+ | userPassword: | ||
+ | description: | ||
+ | |||
+ | dn: cn=aw, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | cn: aw | ||
+ | userPassword: | ||
+ | description: | ||
+ | |||
+ | dn: ou=people, | ||
+ | ou: people | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | |||
+ | dn: ou=groups, | ||
+ | ou: groups | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | |||
+ | dn: ou=addressbook, | ||
+ | ou: addressbook | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | |||
+ | #Adding user | ||
+ | dn: uid=ldap1, | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | objectClass: | ||
+ | uid: ldap1 | ||
+ | sn: Asdasd | ||
+ | givenName: ldap1 | ||
+ | cn: ldap1 Asdasd | ||
+ | displayName: | ||
+ | uidNumber: 1002 | ||
+ | gidNumber: 1000 | ||
+ | userPassword: | ||
+ | gecos: ldap1 asdasd | ||
+ | loginShell: /bin/bash | ||
+ | homeDirectory: | ||
+ | shadowExpire: | ||
+ | shadowFlag: 0 | ||
+ | shadowWarning: | ||
+ | shadowMin: 8 | ||
+ | shadowMax: 999999 | ||
+ | shadowLastChange: | ||
+ | mail: aw@$dc1.$dc2 | ||
+ | postalCode: 31000 | ||
+ | l: Mysity | ||
+ | o: $dc1 | ||
+ | mobile: +33 (0)6 22 22 22 22 22 | ||
+ | homePhone: +33 (0)5 33 22 33 22 | ||
+ | title: System Administrator | ||
+ | postalAddress: | ||
+ | initials: LP | ||
+ | EOF | ||
+ | |||
+ | sudo ldapadd -x -D cn=admin, | ||
+ | </ | ||
+ | |||
+ | The following script tear down any OpenLDAP installation and cleans up big time leaving nothing behind: | ||
+ | |||
+ | < | ||
+ | #!/bin/sh | ||
+ | aptitude purge slapd ldap-utils | ||
+ | cat /dev/null > / | ||
+ | rm / | ||
+ | rm -rf /etc/ldap | ||
+ | apt-get install slapd ldap-utils | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ---- | ||
+ | Source: http:// | ||
howtos/setup_script.txt · Last modified: 16/02/2023 07:17 by domingo