#!/bin/sh # version 1.6.2 #[ "$1" == "-n" ] && { echo "Usage: $0 <Login> <Group> " # exit 1 ; } #[ "o$#" != "o3" ] && { echo "Usage: $0 [-n <Login> <Group> <Nom Prenom> ] " # exit 1 ; } LOGIN= GROUP= COMMENT= CONFFILE="/etc/clusterserver.conf" if [ ! -f ${CONFFILE} ]; then echo "Cant find ${CONFFILE} !" exit 1 fi . ${CONFFILE} PWD=1 echo "-----------------------------------------------------------" echo "Add New user in NIS environnement on " ${NFSERVER} echo "user with an uid > 500 are NIS user" echo "-----------------------------------------------------------" while [ -z "$LOGIN" ] ; do echo -n " Login : " read LOGIN tmp done GROUP= while [ -z "$GROUP" ] ; do GROUP=users echo -n " Group(s) [$GROUP] (ex: pbs,mpi,pvm): " read GROUP [ -z "$GROUP" ] && { GROUP=users break ; } TEST_GROUP=`cat /etc/group | awk '{print $1}' | grep -w "$GROUP"` if [ -z "$TEST_GROUP" ]; then groupadd $GROUP fi done while [ -z "$COMMENT" ] ; do echo -n " Comment (ex: James Bond): " read COMMENT done echo ---------------------------------------------------------- echo "Login: $LOGIN" echo "Group: $GROUP" echo "Comment: $COMMENT" HOMEUSER=$HOMENIS/$LOGIN useradd -c "$COMMENT" -g "$GROUP" $LOGIN -d "$HOMEUSER" while [ $PWD -eq 1 ] ; do echo "passwd $LOGIN:" passwd $LOGIN PWD=$? done # update nis table ( cd /var/yp ; make ) echo " - Creating ssh key for user $LOGIN" su $LOGIN -c "mkdir ~/.ssh" su $LOGIN -c "ssh-keygen -t dsa -f ~/.ssh/id_dsa -N \"\" " echo " - authorize user to ssh himself" cat $HOMEUSER/.ssh/id_dsa.pub > $HOMEUSER/.ssh/authorized_keys echo " - Setting .rhosts file" echo "${HOSTNAME} $LOGIN" > $HOMEUSER/.rhosts for i in `cat $NODESFILE` do echo "$i $LOGIN" >> $HOMEUSER/.rhosts done cat > $HOMEUSER/.xinitrc <<EOF xhost + /usr/X11R6/bin/xsetbg /etc/X11/clic-1024.jpg if [ -f /usr/X11R6/bin/wmaker ]; then exec wmaker else exec twm fi EOF echo " - Creating ${REP_SAVE}/$LOGIN" mkdir -p ${REP_SAVE}/$LOGIN chown -R $LOGIN.$GROUP ${REP_SAVE}/$LOGIN echo " - Setting permission on file" chown -R $LOGIN.$GROUP $HOMEUSER/ chmod 644 $HOMEUSER/.rhosts #End