#!/bin/bash ######################################################################## ## Script : ldap-util.sh ## Name : LDAP 用ユーティリティ関数スクリプト ## Version : 0.0.3 ## Copyright : 2019 Nomura Kei ## License : BSD-2-Clause ######################################################################## SCRIPT_FILE=${0} ######################################################################## ## ## 関数定義 ## # ===================================================================== # 指定されたドメインを LDAP で利用する形式に変換します。 # 例) ehobby.jp => dc=ehobby,dc=jp # # ※すでに変換済みの場合は何もしません。 # # @param $1 ドメイン名 # @stdout LDAPで利用する形式 # ===================================================================== # function domainToDC() { DOMAIN=$1 echo "${DOMAIN}" | sed -e "s/\([^\.]*\)\./dc=\1,/g" -e "s/^\(.*\),\(.*\)$/\1,dc=\2/" -e "s/dc=dc=/dc=/" } # ===================================================================== # 登録されているドメインを出力します。 # # @stdout 登録されているドメイン(LDAP形式: 例:dc=ehobby,dc=jp) # ===================================================================== function getDomainDN() { ldapsearch -Y EXTERNAL -H ldapi:/// -b 'olcDatabase={1}mdb,cn=config' olcSuffix 2> /dev/null | sed -n "s/^olcSuffix: \(.*\)/\1/p" } # ===================================================================== # 登録されているドメインを出力します。 # # @stdout 登録されているドメイン(LDAP形式: 例:dc=ehobby,dc=jp) # ===================================================================== function getRootDN() { ldapsearch -Y EXTERNAL -H ldapi:/// -b 'olcDatabase={1}mdb,cn=config' olcRootDN 2> /dev/null | sed -n "s/^olcRootDN: \(.*\)/\1/p" }