All pastes #735749 Raw Edit

Mine

public text v1 · immutable
·published 2007-10-13 22:21 UTC
rendered paste body
#!/bin/bash
#But du script
#Crée un utilisateur pour pouvoire faire du ssh a distance avec les outils strictement indispensable et a choix.
#le nom de l'utilisateur et le mots de passe seron fourni en paramettre.

#compte utilisateur pour un ssh
USER=toto
TAB_APP="/usr/sbin/chroot /bin/bash /bin/cat /bin/chmod /bin/chown /bin/cp /bin/grep /bin/gzip /bin/ls /bin/mkdir /bin/more /bin/mv /bin/rm /bin/tar  /bin/nano /bin/ln"
REP=/home/tnt/chroot/$USER/

#======================= Répertoire temporaire Et fichier temporaire=================
TMP="/tmp/chrootssh0"
TMP1="/tmp/chrootssh1.txt"

if [ -z $USER ] ;then 
	echo "Erreur pas d'utilisateur fourni"
	exit 0
fi
if [ -e $REP ] ;then 
	echo "Effacement de $REP"
	rm -r $REP 
	mkdir -p $REP
else
	mkdir -p $REP
fi
if [ -a $TMP  ] ;then
	echo "Effacement de $TMP"
	rm $TMP
fi
if [ -a $TMP1  ] ;then
	echo "Effacement de $TMP1"
	rm $TMP1
fi
for O in $TAB_APP; do
	ldd $O | awk '{ print $1 }' > $TMP
	while read line ;do
		echo "DEBUG première entrée: $line pour $O"
		CarId=`echo $line | awk {'print $1'} | cut -c0-1`
		if [ "$CarId" = "/" ] ;then
			echo "Ok $line"
		elif [ "$CarId" = "l" ] ;then
				FD=`find / -iname $line 2>/dev/null | grep "^/lib/"`
				ST=`grep -v $FD $TMP1`
				if [ -a "$FD" ] && [ ! -z "$FD" ] && [ -z "$ST" ] ;then
					echo $FD >> $TMP1
					echo "DB fichier ajouter $FD"
				else
					echo "librairie non trouver $line pour le programe $O"
				fi
		else
			echo "problème caratère non identifier$CarId"
		fi
		FD2=`grep -v $FD $TMP1`
		if [ ! -e "$line" ] &&[  ! -z $FD2 ] ;then
			echo "DB2 fichier ajouter $REP$line"
			echo "$line" >> $TMP1
		else
			echo "entrée refusée $line"
		fi
	
	echo "Suivant pour $O numero de la boucle : $count"
	count=`expr $count + 1`
sleep 20
	#problème il ne continue plus la bouble alors qu'il y a plus d'une entrée
	done < $TMP
count=0
done

echo "opération terminée"