Commit | Line | Data |
---|---|---|
6bdbb663 | 1 | #!/bin/bash |
2 | ||
3 | USERNM=$1 | |
4 | REALNM=$2 | |
a302d1ed | 5 | EMAILADDR=$3 |
6bdbb663 | 6 | |
7 | if test -z "$USERNM"; then | |
8 | echo Usage: create-user-wrapper USERNAME \'NAME SURNAME\' [EMAIL] | |
9 | exit 1 | |
10 | fi | |
11 | ||
12 | if test -z "$REALNM"; then | |
13 | echo Usage: create-user-wrapper USERNAME \'NAME SURNAME\' [EMAIL] | |
14 | exit 1 | |
15 | fi | |
16 | ||
e1bb6f7a | 17 | INITPW=$(sudo -u hcoop psql -p 5433 hcoop_portal3 -tc "select unix_passwd from MemberApp where name = '${USERNM}' order by id desc limit 1;") |
6bdbb663 | 18 | |
19 | ||
20 | # | |
21 | # Create user | |
22 | # | |
8e736f39 | 23 | /afs/hcoop.net/common/etc/scripts/create-user-new $USERNM || \ |
6bdbb663 | 24 | ( echo "create-user $USERNM failed" && exit 2 ) |
25 | ||
26 | # | |
27 | # Entry in LDAP is created, set real name | |
28 | # | |
2c924369 | 29 | #echo " |
30 | #dn: uid=$USERNM,ou=People,dc=hcoop,dc=net | |
31 | #changetype: modify | |
32 | #replace: gecos | |
33 | #gecos: $REALNM | |
34 | #" | sudo ldapmodify -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || \ | |
35 | # (echo Error modifying LDAP entry && exit 3 ) | |
6bdbb663 | 36 | |
37 | # | |
38 | # Now set the password | |
39 | # | |
6157acaa | 40 | if test -z "$INITPW"; then |
b2ec38ff | 41 | echo "Skipping password set from $PWFILE (doesn't exist or permission denied)" |
42 | #exit 4 | |
43 | else | |
6157acaa | 44 | echo Setting password from database |
b2ec38ff | 45 | actual_user=`whoami` |
6157acaa CE |
46 | sudo sh -c "echo $INITPW | tee -| /afs/hcoop.net/common/etc/scripts/change-user-password $USERNM" || \ |
47 | ( echo "echo XXX | tee - | change-user-password $USERNM failed" && exit 5 ) | |
b2ec38ff | 48 | fi |
6bdbb663 | 49 | |
50 | ||
51 | # | |
52 | # Set email forwarding | |
53 | # | |
54 | if test -z "$EMAILADDR"; then | |
55 | echo "Skipping email forwarding, no email address was specified." | |
56 | else | |
57 | echo setting email forward to "$EMAILADDR" | |
69574f2e | 58 | FORWARD_PATH=$(sh -c "echo ~$USERNM/.public/.forward") |
59 | echo "$EMAILADDR" > $FORWARD_PATH || \ | |
6bdbb663 | 60 | ( echo "Failed to set forward address" && exit 6 ) |
69574f2e | 61 | chown $USERNM $FORWARD_PATH |
6bdbb663 | 62 | fi |
63 | ||
64 | # | |
65 | # Done | |
66 | # | |
67 | echo All done. | |
68 |