addtogroups 593 B

12345678910111213141516171819202122232425262728293031323334
  1. #!/bin/bash
  2. . .env
  3. . funcs
  4. uid=$1
  5. if user_exists $uid; then
  6. true
  7. else
  8. echo "User $uid does not exist."
  9. exit 1
  10. fi
  11. group="dn: cn=%GROUP%,$GROUPSDN
  12. changeType: modify
  13. add: member
  14. member: uid=%UID%,$PEOPLEDN"
  15. # remove uid ($1) from args so that only the list
  16. # of groups remains in $@
  17. shift
  18. # add user to each of the groups given
  19. for g in $@; do
  20. echo $g
  21. if group_exists $g ; then
  22. echo "$group" | sed \
  23. -e "s/%GROUP%/$g/" \
  24. -e "s/%UID%/$uid/" | ldapmodify $LDAPOPTS
  25. else
  26. echo "Group $g does not exist, skipping..."
  27. fi
  28. done