免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3256 | 回复: 5
打印 上一主题 下一主题

[文本处理] 如何在脚本里面批量添加用户和密码 [复制链接]

论坛徽章:
2
水瓶座
日期:2014-07-29 22:27:012015年迎新春徽章
日期:2015-03-04 09:57:09
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-29 18:00 |只看该作者 |倒序浏览
10可用积分
本帖最后由 now163 于 2014-07-29 22:17 编辑

目前有一个批量添加ldap账户的需求,分别有user.txt,passwd.txt
cat -n user.txt
1   test01
2   test01

cat -n passwd.txt
1   {crypt}$1$$CEfu80ee2k3Kd2B1su.bv1
2   {crypt}$1$eGSiENMg$bsszlc.65SJ6uOomQQCLv1
账户密码要一一对应。

下面是原脚本里面的一段,小白不会修改
  1. add_new_user()
  2. {
  3.     USERNAME="$(echo $1 | tr [A-Z] [a-z])"
  4.     MAIL="$( echo $2 | tr [A-Z] [a-z])"

  5.     # Create template LDIF file for this new user and add it.
  6.     # If you do *NOT* want to keep rootpw in script, use '-W' instead of
  7.     # '-w "${BINDPW}".

  8.     maildir="$( hash_domain ${DOMAIN_NAME})/$( hash_maildir ${USERNAME} )"

  9.     # Generate user password.
  10.     if [ X"${USE_DEFAULT_PASSWD}" == X"YES" ]; then
  11.         PASSWD="$(slappasswd -h {${CRYPT_MECH}} -s ${DEFAULT_PASSWD})"
  12.     else
  13.         PASSWD="$(slappasswd -h {${CRYPT_MECH}} -s ${USERNAME})"
  14.     fi
  15.     ldapadd -x -D "${BINDDN}" -w "${BINDPW}" <<EOF
  16. dn: mail=${MAIL},${OU_USER_DN},${DOMAIN_DN},${BASE_DN}
  17. objectClass: inetOrgPerson
  18. objectClass: shadowAccount
  19. objectClass: amavisAccount
  20. objectClass: mailUser
  21. objectClass: top
  22. accountStatus: active
  23. storageBaseDirectory: ${STORAGE_BASE}
  24. homeDirectory: ${STORAGE_BASE_DIRECTORY}/${maildir}
  25. mailMessageStore: ${STORAGE_NODE}/${maildir}
  26. mail: ${MAIL}
  27. mailQuota: ${QUOTA}
  28. userPassword:[b] ${PASSWD}[/b]
  29. cn: ${USERNAME}
  30. sn: ${USERNAME}
  31. givenName: [b]${USERNAME}[/b]
  32. uid: ${USERNAME}
  33. shadowLastChange: 0
  34. amavisLocal: TRUE
  35. enabledService: internal
  36. enabledService: doveadm
  37. enabledService: lib-storage
  38. enabledService: mail
  39. enabledService: pop3
  40. enabledService: pop3secured
  41. enabledService: imap
  42. enabledService: imapsecured
  43. enabledService: managesieve
  44. enabledService: managesievesecured
  45. enabledService: sieve
  46. enabledService: sievesecured
  47. enabledService: smtp
  48. enabledService: smtpsecured
  49. enabledService: deliver
  50. enabledService: lda
  51. enabledService: lmtp
  52. enabledService: forward
  53. enabledService: senderbcc
  54. enabledService: recipientbcc
  55. enabledService: shadowaddress
  56. enabledService: displayedInGlobalAddressBook
  57. ${LDIF_PUREFTPD_USER}
  58. EOF
  59. }

复制代码
里面的$1是域名:abc.com  $2是user 脚本添加的时候可以用./add.sh abc.com $(cat user.txt)
默认是用slappasswd生成一个和用户名相同的密码,怎样才能改成我的需求呢?

请各位帮帮忙,免去我手动修改几百个的账户信息

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
2 [报告]
发表于 2014-07-29 21:39 |只看该作者
直接发代码,不要截图。

论坛徽章:
2
水瓶座
日期:2014-07-29 22:27:012015年迎新春徽章
日期:2015-03-04 09:57:09
3 [报告]
发表于 2014-07-29 22:00 |只看该作者
@Shell_HAT已经编辑啦

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2014-07-29 22:08 |只看该作者
多发点代码,这一段看不出是怎样生成ldif文件的

论坛徽章:
2
水瓶座
日期:2014-07-29 22:27:012015年迎新春徽章
日期:2015-03-04 09:57:09
5 [报告]
发表于 2014-07-29 22:18 |只看该作者
回复 4# Shell_HAT


    我把后面的ldapadd部分贴出来啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP