Newer
Older
ldap / src / ldap-deluser.sh
#!/bin/bash
########################################################################
## Script    : ldap-deluser:.sh
## Name      : LDAP よりユーザーを削除します。
## Version   : 0.0.1
## Copyright : 2019  Nomura Kei
## License   : BSD-2-Clause
## Usage:
## |使用法) ldap-deluser.sh [オプション] uid
## |
## | LDAPよりユーザーを削除します。
## |
## |uid
## |  ユーザーIDを指定します。
## |
## |[オプション]
## |  -h,--help      使用法を表示します。
## |  -v,--version   バージョンを表示します。
## |
## |
##
########################################################################
SCRIPT_FILE=${0}
SCRIPT_DIR=`dirname ${SCRIPT_FILE}`
LIB_DIR=${SCRIPT_DIR}/../lib



########################################################################
##
## ライブラリのロード
##
[ -f "${LIB_DIR}/functions.sh" ] && . ${LIB_DIR}/bash-utils.sh
[ -f "${SCRIPT_DIR}/ldap-util.sh" ] && . ${SCRIPT_DIR}/ldap-util.sh



########################################################################
##
## デフォルト値
##
DOMAIN_DN=`getDomainDN`
ROOT_DN=`getRootDN`
ROOT_PW=
P_UID=



########################################################################
##
## 関数群
##



########################################################################
##
## メイン処理
##


for OPT in "$@"; do
	case "${OPT}" in
		'--passwd')             ROOT_PW="$2";				shift 2 ;;
		'-h'|'--help')          usage;						exit 1  ;;
		'-v'|'--version')       version;					exit 1  ;;
		-*)						usage						exit 1	;;
		*)
			if [[ ! -z "$1" ]] && [[ ! "$1" =~ ^-+ ]]; then
				P_UID=("$1")
				shift 1
			fi
			;;
	esac
done


# ----------------------------------------------------------------------
#  引数整理
# ----------------------------------------------------------------------
[ "${P_UID}"             = "" ] && read    -p "SN (Surname)     > " P_SN
[ "${ROOT_PW}"          = "" ] && read -s -p "Root Password    > " ROOT_PW; echo ""


# 削除
echo "uid=${P_UID},ou=User,${DOMAIN_DN}" | ldapdelete -D ${ROOT_DN} -w ${ROOT_PW}


# ----------------------------------------------------------------------
#  結果出力
# ----------------------------------------------------------------------
USER_DN="ou=User,${DOMAIN_DN}"
ldapsearch -D ${ROOT_DN} -b ${USER_DN} -w ${ROOT_PW} "(uid=${P_UID})"