Update create-user for new nodes
[hcoop/scripts.git] / new-user
CommitLineData
6bdbb663 1#!/bin/bash
2
3USERNM=$1
4REALNM=$2
a302d1ed 5EMAILADDR=$3
6bdbb663 6
7if test -z "$USERNM"; then
8 echo Usage: create-user-wrapper USERNAME \'NAME SURNAME\' [EMAIL]
9 exit 1
10fi
11
12if test -z "$REALNM"; then
13 echo Usage: create-user-wrapper USERNAME \'NAME SURNAME\' [EMAIL]
14 exit 1
15fi
16
6157acaa 17INITPW=$(sudo -u hcoop psql hcoop_hcoop -tc "select unix_passwd from MemberApp where name = '${USERNM}';")
6bdbb663 18
19
20#
21# Create user
22#
6157acaa 23/afs/hcoop.net/common/etc/scripts/create-user $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 40if test -z "$INITPW"; then
b2ec38ff 41 echo "Skipping password set from $PWFILE (doesn't exist or permission denied)"
42 #exit 4
43else
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 48fi
6bdbb663 49
50
51#
52# Set email forwarding
53#
54if test -z "$EMAILADDR"; then
55 echo "Skipping email forwarding, no email address was specified."
56else
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 62fi
63
64#
65# Done
66#
67echo All done.
68