#!/bin/sh # Par Julien MOREAU ( jmoreau@bigfoot.com ) nbps=0 # Nombre de paramètres souhaités (sans option) nom_cmde=`basename $0` # Nom de la commande usage="Usage: $nom_cmde" # Message d'aide usage=$usage"\n\tVous permez d'acceder à mes scripts à action à distance." if test `uname` != "HP-UX" ; then e="-e" ; fi if [ $# -ne $nbps ] ; then # Si le nombre de paramètres est incorrecte, echo $e $usage 1>&2 ; exit 2 # Affichage aide puis arrêt. fi rep=~moreau_j/bin_pub/ goodusersfile=$rep.mailist badusersfile=$rep.badusers sepa='*********' ; sepa=$sepa$sepa ; sepa=$sepa$sepa ; sepa=$sepa$sepa title () { print -n "\033]0;$1\007" > /dev/tty } function _cd { typeset d \cd $* >/dev/null # le vrai "cd" (interne) d="${PWD#$HOME/}" if [ "$TERM" = xterm ] then title "$MACHINE:$d" fi } alias cd _cd grep -q ^`whoru` $goodusersfile if [ $? -ne 0 ] ; then echo $e "Vous n'avez pas l'autorisation d'accéder à mes scripts\c" 1>&2 echo $e " à action distante !\nPour cela, il faut s'enregistrer\c" 1>&2 echo " avec la commande mail_reg" 1>&2 echo " et ne pas appartenir au fichier .badusers." 1>&2 ret=1 else grep -q ^`whoru`$ $badusersfile if [ $? -eq 0 ] ; then echo $e "Vous faîtes partie de la liste noire des mauvais\c" 1>&2 echo $e " utlisateurs, ... dommage !\nPermission denied." 1>&2 ret=1 else cd ~moreau_j/bin ; ret=$? clear while true ; do echo $e "Contenu du répertoire :\n" ls -F echo $e "\nEntrez votre ligne de commande\c" echo $e " (touche [Entrée] pour quitter) :\n\t\c" ; read cmde if test -z "$cmde" ; then exit $ret ; fi ; echo set $cmde ; /bin/ls -1|grep -q ^$1$ if test $? -eq 0 ; then $cmde echo $e "\n# Valeur de retour \$? = $?" else echo "Commande invalide (pas de ce répertoire) !" 1>&2 fi echo $e "\n$sepa\n" done cd $OLDPWD fi fi exit $ret