Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

58 lines
1.5KB

  1. #!/bin/bash
  2. STACK_NAME=$1
  3. if [ $# -eq 0 ]; then
  4. echo "You must pass stack name as a parameter"
  5. exit 1
  6. fi
  7. # ##### Add users to LDAP ###### #
  8. echo ""
  9. echo "Adding users to LDAP"
  10. host=$(docker stack ps ${STACK_NAME} | grep -v Shutdown | grep Running | grep openldap | awk '{ print $4 }')
  11. #echo Host=$host
  12. if [ -z $host ]; then
  13. echo "No host found!";
  14. exit 1;
  15. fi
  16. # add avahi suffix
  17. localhostname=$(cat /etc/hostname)
  18. if [ "${localhostname}" != "${host}" ]; then
  19. host=${host}.local
  20. fi
  21. container=$(ssh $host 'docker ps | grep openldap | cut -f1 -d" "')
  22. #echo Container=$container
  23. if [ -z $container ]; then
  24. echo "Qué me estás container?!";
  25. exit 1;
  26. fi
  27. # read variables, for mail data path
  28. . .env
  29. # Replace Mail data path for users
  30. find images/openldap/users -type f -exec \
  31. sed -i "s/\${MAIL_DATA_PATH}/${MAIL_DATA_PATH//\//\\/}/g" {} \;
  32. echo Copying user files to Host $host
  33. ssh $host "mkdir -p /tmp/users"
  34. scp -r images/openldap/users/userimport*.ldif $host:/tmp/users/
  35. echo Copying user files to Container $container in Host $host
  36. ssh $host "docker cp /tmp/users $container:/tmp/"
  37. echo Adding users to openldap
  38. ssh $host \
  39. "for i in \$(ls /tmp/users/userimport*.ldif); do \
  40. ls \$i;
  41. docker exec ${container} sh -c \
  42. 'slapadd -l '\$i; \
  43. done;"
  44. #'ldapadd -w \$(cat \${LDAP_ADMIN_PWD_FILE}) -D cn=admin,dc=\${LDAP_ORGANIZATION},dc=\${LDAP_EXTENSION} -f '\$i; \
  45. echo Removing copied user files
  46. ssh $host "docker exec ${container} sh -c 'rm -Rf /tmp/users'"
  47. ssh $host "rm -Rf /tmp/users"