脚本自动创建ldap账号
背景:客服那边人员流动性大,经常需要配置账号,每次创建账号配置权限比较繁琐。
配置脚本:
ldapadduser.sh
#!/bin/bash
# add ldap user
if [ $# -ne ] || [[ $ -ne "cn" || $ -ne "eu" ]] || [[ $ -ne "dev" || $ -ne "cs" ]];then
echo "Usage: /bin/bash $0 username [cn|eu] [dev|cs] ." && exit
fi mail_address="xxxxx.com" if [ $ == "eu" ];then
mail_address="xxxxx.com"
fi cat > add_user.ldif << EOF
dn: cn=$@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net
objectClass: inetOrgPerson
objectClass: top
mail: $@$mail_address
sn: $
cn: $@$mail_address
userPassword: $@$mail_address
EOF if [ $ == "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=$@$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=$@$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=$@$mail_address,ou=People,dc=ldap,dc=xxxx,dc=net
EOF
elif [ $ == "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=$@$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=$@$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=$@$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=$@$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=$@$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=$@$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=$@$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 ];then
echo "添加用户成功"
else
echo "添加用户失败"
fi
printf "ldapadminpassword" >./.ldappasswd
chmod 400 ./.ldappasswd
#dev为开发人员,cs为客服人员 分别配置不同的权限
#cn为国内同事,eu为欧洲同事,使用邮箱不一样 所以需要区分下
脚本执行示例:
sh ldapadduser.sh test01 cn cs
添加完成后去ldap管理页面查看用户是否添加成功及相应的权限是否配置正确。
脚本自动创建ldap账号的更多相关文章
- 案例九:shell脚本自动创建多个新用户,并设置密码
		此脚本是用来批量创建用户并设置用户密码,在企业用非常实用. 脚本一 #!/bin/bash for name in $( seq 1 100 ) do useradd "user$name& ... 
- Golang  bash脚本自动创建一个go工程
		原作者的代码里面,存在智能引号问题,所以他的代码并不能正常运行: 这个是我微调后的版本. 代码如下: #!/bin/bash #————————————– # Module : mk_go_pro.s ... 
- 【shell脚本】创建账户及删除账户,批量创建账户及批量删除账户===autoCreateUser.sh
		一.字符串运算符 二.创建账户 1.提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码.如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的 123456 ... 
- Unity VS 创建脚本自动添加头注释-时间-描述-作者等信息
		Unity生成脚本自动添加头注释 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心 ... 
- 通过Shell脚本来创建批量服务器上的MySQL数据库账号
		1.项目背景 因监控需要,我们需要在既有的每个MySQL实例上创建一个账号.公司有数百台 MySQL 实例,如果手动登入来创建账号很麻烦,也不现实.所以,我们写了一个简单的shell脚本,用来创建批量 ... 
- 运维常用shell脚本一(系统指标巡检、自动创建用户、跳板机)
		一.系统指标巡检脚本 #!/bin/bash menu(){ cat <<EOF +---------------------------------------------+ | 日常巡 ... 
- 自动创建新序列号的Cookies脚本
		已知一个网站在被访问的时候会读取电脑上存储的cookies 如果已经有cookie变量存在 则在存在的变量后按顺序增加新的序列 如电脑上有vst1变量的cookie了 那么新用户则自动创建为 vst2 ... 
- Jenkins 配合 GitLab 实现分支的自动合并、自动创建 Tag
		Jenkins 配合 GitLab 实现分支的自动合并.自动创建 Tag 背景 GitFlow工作流简介 Gitflow工作流定义了一个围绕项目发布的严格分支模型,它会相对复杂一点,但提供了用于一个健 ... 
- oracle11g interval(numtoyminterval())自动创建表分区
		Oracle11g通过间隔分区实现按月创建表分区 在项目数据库设计过程中由于单表的数据量非常庞大,需要对表进行分区处理.由于表中的数据是历史交易,故按月分区,提升查询和管理. 由于之前对于表分区了解不 ... 
随机推荐
- [CTF]Heap vuln -- unlink
			0x00: 起因 一直在堆的漏洞利用中不得要领,之前ZCTF又是三个堆的利用,血崩,chxx表哥给写了一个heap的pwn,学习学习. 0x01: 关于heap的unlink的漏洞利用,出的很早,在低 ... 
- Struts增删改查
			1.导入相关的pom依赖(struts.自定义标签库的依赖) <dependency> <groupId>jstl</groupId> <artifactId ... 
- AcWing:143. 最大异或对(01字典树 + 位运算  + 异或性质)
			在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一 ... 
- Java 注解指导手册(下)
			9. 自定义注解 正如我们之前多次提及的,可以定义和实现自定义注解.本章我们即将探讨. 首先,定义一个注解: public @interface CustomAnnotationClass ... 
- OUC_Summer Training_ DIV2_#5
			这是做的最好的一次了一共做了4道题 嘻嘻~ A - Game Outcome Time Limit:2000MS Memory Limit:262144KB 64bit IO For ... 
- centos6.5和centos7如何搭建php环境(包括php7)
			查看下centos的版本信息: #适用于所有的linux lsb_release -a #或者 cat /etc/redhat-release #又或者 rpm -q centos-release 安 ... 
- wps技巧
			1.页面颜色设置页面布局->背景 2.图片等比例缩放按住shift 3.想任意挪动图片 设置为文字环绕型 4.word由分节符构成.可以看左下角节的显示.一个页可以划分多节.页总数<=节总 ... 
- mysql删除数据库所有表
			-- 生成删除xxx数据库的所有表的sql语句SELECT CONCAT('drop table ',table_name,';') FROM information_schema.`TABLES` ... 
- JDK压缩指针
			https://www.cnblogs.com/iceAeterNa/p/4877549.html 
- leetcode探索中级算法
			leetcode探索中级答案汇总: https://leetcode-cn.com/explore/interview/card/top-interview-questions-medium/ 1)数 ... 
