#!/bin/sh # Par Julien MOREAU ( jmoreau@bigfoot.com ) nbps=1 # Nombre de paramètres souhaités (avec option) nom_cmde=`basename $0` # Nom de la commande usage="Usage: $nom_cmde []" # Message d'aide usage=$usage"\n\tPermet de se connecter a un serveur pour un xblast." if test `uname` != "HP-UX" ; then e="-e" ; fi rep=~moreau_j/bin_pub # Répertoire de mes utilitaires if [ $# -gt $nbps ] ; then # Si le nombre de paramètres est incorrecte, echo $e $usage 1>&2 ; exit 2 # Affichage aide puis arrêt. fi servers=`ps -ef|grep xblast|grep -v grep|cut -c-8|sort|uniq` nbserv=`echo $servers|wc -w` if [ $# -eq 1 ] ; then serv=$1 else if [ nbserv -eq 0 ] ; then echo "Il y a pas de seveur xblast actif." $rep/ouinon "Voulez-vous faire le serveur" if [ $? -eq 0 ] ; then $rep/xbserv ; fi exit 0 else if [ nbserv -eq 1 ] ; then serv=$servers echo $serv | read serv # Pour enlever les espaces echo "Il n'y a qu'un seveur xblast actif : $serv." $rep/ouinon "Voulez-vous bien lui envoyer la clef" ret=$? if [ $ret -ne 0 ] ; then exit $ret ; fi else echo "Il y a plus d'un seveur xblast actif :" n=`expr $nbserv + 1` while [ $n -lt 0 -o $n -gt $nbserv ] ; do set $servers echo " 0) Pour quitter." i=1 while [ $# -gt 0 ] ; do echo $e " $i) `$rep/l2n $1` ($1 - `$rep/l2promo $1`)" i=`expr $i + 1` ; shift done echo "Appuyer sur Entrée pour quitter." echo $e "Lequel (numéro) choisissez vous ? \c" read n if test -z "$n" -o "$n" = "0" ; then exit 1 ; fi done serv=`echo $servers|cut -d" " -f$n` if test -z "$serv" ; then exit 3 ; fi fi fi fi echo $serv | read serv # Pour enlever les espaces grep -q ^$serv /etc/passwd if [ $? -ne 0 ] ; then echo $e "Le login \"$serv\" est inexistant sur cette machine !" 1>&2 # exit 3 fi echo $e "Envoie d'une clef xblast à l'utilisteur \"$serv\" ... \c" ftmp=~/$nom_cmde.tmp xauth list | mailx -s "Clef xblast" $serv 2>> $ftmp ret=$? if [ $ret -eq 0 ] ; then echo "OK." else echo "échec !" cat $ftmp fi rm -f $ftmp exit $ret