hcoop-git-maint: don't generate cache page
[hcoop/scripts.git] / new-user
1 #!/bin/bash
2
3 USERNM=$1
4 REALNM=$2
5 EMAILADDR=$3
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
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;")
18
19
20 #
21 # Create user
22 #
23 /afs/hcoop.net/common/etc/scripts/create-user-new $USERNM || \
24 ( echo "create-user $USERNM failed" && exit 2 )
25
26 #
27 # Entry in LDAP is created, set real name
28 #
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 )
36
37 #
38 # Now set the password
39 #
40 if test -z "$INITPW"; then
41 echo "Skipping password set from $PWFILE (doesn't exist or permission denied)"
42 #exit 4
43 else
44 echo Setting password from database
45 actual_user=`whoami`
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 )
48 fi
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"
58 FORWARD_PATH=$(sh -c "echo ~$USERNM/.public/.forward")
59 echo "$EMAILADDR" > $FORWARD_PATH || \
60 ( echo "Failed to set forward address" && exit 6 )
61 chown $USERNM $FORWARD_PATH
62 fi
63
64 #
65 # Done
66 #
67 echo All done.
68