Sophie

Sophie

distrib > Mandriva > 10.2 > x86_64 > by-pkgid > ff3ee324c0567e1c25614ef618e7dd7f > files > 5

clusterautosetup-2.1-5mdk.src.rpm

#!/bin/bash
# version 2.01 

LOGIN=
GROUP=
COMMENT=

CONFFILE="/etc/clusterserver.conf"
if  [ ! -f ${CONFFILE} ]; then
        echo "Cant find ${CONFFILE} !"
        exit 1
fi
. ${CONFFILE}
		

AmIRoot() {
if [ `id -u` -ne 0 ]; then
        echo "You are not root"
        echo "Exiting"
        exit -1
fi
}

addUserToGroup() {
echo "Adding $1 in $2 group"
GRP=`grep "$2:x:" /etc/group`
if [ -z "${GRP}" ]; then
        echo "$2 group not found!"
        echo "Exiting"
        exit -1
fi

IS_USERS=$(echo	$GRP | grep ",") 
USERS_GRP=$(echo $GRP  | cut -d	":" -f 4)
GRP_NEW=""

if [ -z	$USERS_GRP ]; then # If  there is no users then 
        GRP_NEW=$(echo ${GRP}$1) # Add the user without  coma
else # There  is  more than  1  user
        if [ ! -z $(echo $USERS_GRP | grep -w $1) ]; then  # If the  user  is  already  in  this group
        	echo "User $1 is already a member of $2 group"													        
	else
	        GRP_NEW=$(echo $GRP,$1)  #Add the  user  with  a coma
        fi
fi

if [ ! -z $GRP_NEW ]; then 
	cp -f /etc/group /etc/group.$DATE
	sed -e 's/'$GRP'/'$GRP_NEW'/g' /etc/group.$DATE > /etc/group
fi
}

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] (You are member of mpi, pbs, pvm by default) : "
	
	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

addUserToGroup $LOGIN mpi
addUserToGroup $LOGIN pvm
addUserToGroup $LOGIN pbs

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