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 | |
6c8ee94d |
17 | INITPW=$(sudo -u hcoop psql -h postgres -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` |
6c8ee94d |
46 | sudo sh -c "printf '%s\n%s\n' $INITPW $INITPW | /afs/hcoop.net/common/etc/scripts/change-user-password $USERNM" || \ |
6157acaa |
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 | |