#!/bin/bash
###################################################################
#
# phpldapadmin install script
# 方式一: 使用cn=admin,dc=huawei,dc=com登录方式
# 方式二: 使用admin登录
###################################################################
function DN(){
##################################
#方式一:使用DN 即 cn=admin,dc=huawei,dc=com登录
##################################
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin
cp /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.bak
#使用DN登录,即cn=admin,dc=huawei,dc=com
sed -i '398 s#uid#dn#g' /etc/phpldapadmin/config.php
sed -i '/Require local/ s#Require local#Require all granted#g' /etc/httpd/conf.d/phpldapadmin.conf
systemctl restart httpd
}
function CN(){
##################################
# 方式二: 使用CN 即 admin 用户名登录
##################################
yum -y install epel-release
yum --enablerepo=epel -y install phpldapadmin
cp /etc/phpldapadmin/config.php /etc/phpldapadmin/config.php.bak
# 398行,使用cn登录,即用户名,默认是使用uid进行登录,
#$servers->setValue('login','attr','cn');
sed -i '398 s#uid#cn#g' /etc/phpldapadmin/config.php
# 460行,关闭匿名登录,否则任何人都可以直接匿名登录查看所有人的信息
#$servers->setValue('login','anon_bind',false);
# sed -i -e '460 s#true#false#g' -e '460 s#// ##g' /etc/phpldapadmin/config.php
# 519行,设置用户属性的唯一性,这里我将cn,sn加上了,以确保用户名的唯一性
#$servers->setValue('unique','attrs',array('mail','uid','uidNumber','cn','sn'));
sed -i -e "519 s/uidNumber'/uidNumber','cn','sn'/g" -e '519 s/# //g' /etc/phpldapadmin/config.php
sed -i '/Require local/ s#Require local#Require all granted#g' /etc/httpd/conf.d/phpldapadmin.conf
systemctl restart httpd
}
cat<<EOF
1. DN logon: cn=admin,dc=huawei,dc=com
2. CN logon: admin
EOF
echo -n "please select:"
read var
case $var in
1)
rm -rf /etc/phpldapadmin/* && yum remove -y phpldapadmin
DN
;;
2)
rm -rf /etc/phpldapadmin/* && yum remove -y phpldapadmin
CN
;;
*)
CN
;;
esac