X-Git-Url: https://git.hcoop.net/hcoop/scripts.git/blobdiff_plain/40f8e4bfc887e6a9a7269b606dc90afb3c936a14..8e736f3904f469f39f3b9b17872805bf092725b1:/new-user diff --git a/new-user b/new-user index 8f015ed..cb64723 100755 --- a/new-user +++ b/new-user @@ -3,7 +3,6 @@ USERNM=$1 REALNM=$2 EMAILADDR=$3 -PWFILE=/var/lib/portal/$USERNM if test -z "$USERNM"; then echo Usage: create-user-wrapper USERNAME \'NAME SURNAME\' [EMAIL] @@ -15,39 +14,37 @@ if test -z "$REALNM"; then exit 1 fi +INITPW=$(sudo -u hcoop psql hcoop_hcoop -tc "select unix_passwd from MemberApp where name = '${USERNM}' order by id desc limit 1;") # # Create user # -/afs/hcoop.net/common/etc/scripts/create-user $USERNM || \ +/afs/hcoop.net/common/etc/scripts/create-user-new $USERNM || \ ( echo "create-user $USERNM failed" && exit 2 ) # # Entry in LDAP is created, set real name # -echo " -dn: uid=$USERNM,ou=People,dc=hcoop,dc=net -changetype: modify -replace: gecos -gecos: $REALNM -" | sudo ldapmodify -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || \ - (echo Error modifying LDAP entry && exit 3 ) +#echo " +#dn: uid=$USERNM,ou=People,dc=hcoop,dc=net +#changetype: modify +#replace: gecos +#gecos: $REALNM +#" | sudo ldapmodify -x -D cn=admin,dc=hcoop,dc=net -y /etc/ldap.secret || \ +# (echo Error modifying LDAP entry && exit 3 ) # # Now set the password # -if ! test -r "$PWFILE"; then +if test -z "$INITPW"; then echo "Skipping password set from $PWFILE (doesn't exist or permission denied)" #exit 4 else - echo Setting password from $PWFILE - sudo sh -c "cat $PWFILE | tee -| /afs/hcoop.net/common/etc/scripts/change-user-password $USERNM" || \ - ( echo "cat $PWFILE | tee - | change-user-password $USERNM failed" && exit 5 ) - - # Delete password file - #sudo rm -- "$PWFILE" - echo "Not deleting $PWFILE. Enable it in the script when you want" + echo Setting password from database + actual_user=`whoami` + sudo sh -c "echo $INITPW | tee -| /afs/hcoop.net/common/etc/scripts/change-user-password $USERNM" || \ + ( echo "echo XXX | tee - | change-user-password $USERNM failed" && exit 5 ) fi @@ -58,9 +55,10 @@ if test -z "$EMAILADDR"; then echo "Skipping email forwarding, no email address was specified." else echo setting email forward to "$EMAILADDR" - sh -c "echo '$EMAILADDR' > ~$USERNM/.public/.forward" || \ + FORWARD_PATH=$(sh -c "echo ~$USERNM/.public/.forward") + echo "$EMAILADDR" > $FORWARD_PATH || \ ( echo "Failed to set forward address" && exit 6 ) - chown $USERNM ~$USERNM/.public/.forward + chown $USERNM $FORWARD_PATH fi #