脚本自动创建ldap账号
背景:客服那边人员流动性大,经常需要配置账号,每次创建账号配置权限比较繁琐。
配置脚本:
ldapadduser.sh
#!/bin/bash # add ldap user if [ $# -ne 3 ] || [[ $2 -ne "cn" || $2 -ne "eu" ]] || [[ $3 -ne "dev" || $2 -ne "cs" ]];then echo "Usage: /bin/bash $0 username [cn|eu] [dev|cs] ." && exit 1 fi mail_address="xxxxx.com" if [ $2 == "eu" ];then mail_address="xxxxx.com" fi cat > add_user.ldif << EOF dn: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net objectClass: inetOrgPerson objectClass: top mail: $1@$mail_address sn: $1 cn: $1@$mail_address userPassword: $1@$mail_address EOF if [ $3 == "cs" ];then cat >add_group.ldif<<EOF dn: cn=confluence-users,ou=confluence,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net
#add: 添加的属性 ,uniqueMember: cn... 添加的属性值 视个人情况更改 dn: cn=customer service team,ou=confluence,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=jira-software-users,ou=jira,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net EOF elif [ $3 == "dev" ];then cat >add_group.ldif<<EOF dn: cn=confluence-users,ou=confluence,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=developer,ou=confluence,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=harbor-dev-developer,ou=harbor,dc=ldap,dc=xxxx,dc=net changetype: modify add: member member: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=jenkins-dev-build,ou=jenkins,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=kibana-software-users,ou=kibana,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=rabbitmq-dev-management,ou=rabbitmq,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net dn: cn=jira-software-users,ou=jira,dc=ldap,dc=xxxx,dc=net changetype: modify add: uniqueMember uniqueMember: cn=$1@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net EOF fi #echo "######请输入ldap管理员密码#####" echo "#####创建用户#####" /usr/bin/ldapadd -D cn=Manager,dc=ldap,dc=xxxx,dc=net -y .ldappasswd -x -f add_user.ldif echo "#####配置权限组#####" /usr/bin/ldapadd -D cn=Manager,dc=ldap,dc=xxxx,dc=net -y .ldappasswd -x -f add_group.ldif if [ $? -eq 0 ];then echo "添加用户成功" else echo "添加用户失败" fi
printf "ldapadminpassword" >./.ldappasswd
chmod 400 ./.ldappasswd
#dev为开发人员,cs为客服人员 分别配置不同的权限
#cn为国内同事,eu为欧洲同事,使用邮箱不一样 所以需要区分下
脚本执行示例:
sh ldapadduser.sh test01 cn cs
添加完成后去ldap管理页面查看用户是否添加成功及相应的权限是否配置正确。
赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!
作者: imcati
出处: https://www.cnblogs.com/imcati/>
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接