| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/bin/bash
- . /etc/ldap-utils.conf
- . /usr/local/lib/ldap-utils/funcs
- uid=$1
- if user_exists $uid; then
- true
- else
- echo "User $uid does not exist."
- exit 1
- fi
- if user_is_posix $uid; then
- echo "User $uid is already a posixAccount"
- exit 1
- fi
- user="dn: uid=%UID%,$PEOPLEDN
- changeType: modify
- add: objectClass
- objectClass: posixAccount
- -
- add: uidNumber
- uidNumber: %NUMBER%
- -
- add: gidNumber
- gidNumber: %NUMBER%
- -
- add: homeDirectory
- homeDirectory: /home/%UID%
- -
- add: loginShell
- loginShell: /bin/bash
- -
- add: objectClass
- objectClass: shadowAccount
- -
- add: objectClass
- objectClass: ldapPublicKey"
- group="dn: cn=%UID%,$GROUPSDN
- objectClass: top
- objectClass: posixGroup
- cn: %UID%
- gidNumber: %NUMBER%
- memberUid: %UID%"
- uidnumber=$(get_posix_number)
- # add the necessary attribbute for a posixAccount
- echo "$user" | sed \
- -e "s/%NUMBER%/$uidnumber/" \
- -e "s/%UID%/$uid/" | ldapmodify $LDAPOPTS
- # create a posix group with the same name and uid as the user
- # and add them to it
- echo "$group" | sed \
- -e "s/%NUMBER%/$uidnumber/" \
- -e "s/%UID%/$uid/" | ldapadd $LDAPOPTS
|