WIP working group managemnt using echo to pipe LDIF directly to ldap commands
This commit is contained in:
7
seqs/ldap.cfg.example
Normal file
7
seqs/ldap.cfg.example
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Configuration options for ldap installation and management
|
||||||
|
|
||||||
|
LDAP_DC="dc=winklerfamilie,dc=eu"
|
||||||
|
LDAP_OU_GROUPS="ou=Groups"
|
||||||
|
LDAP_OU_USERS="ou=Users"
|
70
seqs/ldap.sh
Executable file
70
seqs/ldap.sh
Executable file
@@ -0,0 +1,70 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
toolName=ldap
|
||||||
|
|
||||||
|
# Get script working directory
|
||||||
|
# (when called from a different directory)
|
||||||
|
WDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >>/dev/null 2>&1 && pwd )"
|
||||||
|
CONFIG=0
|
||||||
|
CONFIG_FILE_NAME="${toolName}.cfg"
|
||||||
|
CONFIG_FILE_TEMPLATE="$WDIR/${CONFIG_FILE_NAME}.example"
|
||||||
|
|
||||||
|
step_config() {
|
||||||
|
initSeqConfig "$CONFIG_FILE_NAME" "$CONFIG_FILE_TEMPLATE"
|
||||||
|
if [ $? -eq 0 ] ; then
|
||||||
|
CONFIG=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
step_100_info() { echo "Add group <GROUP NAME> <MEMBER DN>"; }
|
||||||
|
step_100_alias() { ALIAS="addgroup"; }
|
||||||
|
step_100() {
|
||||||
|
local groupName=g2
|
||||||
|
local memberDn="uid=ldaptest,${LDAP_OU_USERS},${LDAP_DC}"
|
||||||
|
|
||||||
|
variable2Ldif add "$addGroup"
|
||||||
|
}
|
||||||
|
addGroup="dn: cn=\${groupName},\${LDAP_OU_GROUPS},\${LDAP_DC}
|
||||||
|
objectClass: groupofnames
|
||||||
|
cn: \${groupName}
|
||||||
|
description: Created by $0
|
||||||
|
member: \${memberDn}
|
||||||
|
"
|
||||||
|
|
||||||
|
step_110_info() { echo "Remove group <GROUP NAME>"; }
|
||||||
|
step_110_alias() { ALIAS="rmgroup"; }
|
||||||
|
step_110() {
|
||||||
|
local groupName=g2
|
||||||
|
variable2Ldif modify "$rmGroup"
|
||||||
|
}
|
||||||
|
rmGroup="dn: cn=\${groupName},\${LDAP_OU_GROUPS},\${LDAP_DC}
|
||||||
|
changetype: delete
|
||||||
|
"
|
||||||
|
|
||||||
|
step_104_info() { echo "List available groups"; }
|
||||||
|
step_104_alias() { ALIAS="listgroups"; }
|
||||||
|
step_104() {
|
||||||
|
echo " [I] Available groups:"
|
||||||
|
ldapsearch -x -LLL -H ldap:/// -b ${LDAP_OU_GROUPS},${LDAP_DC} dn gidNumber $2
|
||||||
|
}
|
||||||
|
|
||||||
|
step_106_info() { echo "List available users"; }
|
||||||
|
step_106_alias() { ALIAS="listusers"; }
|
||||||
|
step_106() {
|
||||||
|
echo " [I] Available user:"
|
||||||
|
ldapsearch -x -LLL -H ldap:/// -b ${LDAP_OU_USERS},${LDAP_DC} dn uidNumber gidNumber $2
|
||||||
|
}
|
||||||
|
|
||||||
|
variable2Ldif() {
|
||||||
|
local cmd="ldapmodify"
|
||||||
|
local tempLdif=`eval "echo \"$2\""`
|
||||||
|
case $1 in
|
||||||
|
add)
|
||||||
|
cmd="ldapadd"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
exep "echo \"$tempLdif\" | $cmd -x -D cn=admin,${LDAP_DC} -W"
|
||||||
|
}
|
||||||
|
|
||||||
|
VERSION_SEQREV=10
|
||||||
|
. /usr/local/bin/sequencer.sh
|
Reference in New Issue
Block a user