#!/bin/sh echo " Vesion 1.6" # listing des fichier find / -exec ls -ld {} \; |while read ligne do # Analyse des infos du "ls" read -a tb <<< $ligne #La boucle ici pour s'assurer que le nom et le chemin du fichier #ne son pas tronquée par read si un espace ce trouve dans un nom d'unrepertoire ou un fichier b=7 a=${#tb[*]} #echo $ligne while true do if [ $a -ge $b ] then PathFile="$PathFile ${tb[$b]}" b=$(($b + 1)) else echo sortie b="0" a="0" break fi done octal=0 test "`echo ${tb[0]} |cut -c2`" = "r" && octal=`expr $octal + 400` # test "${tb[0]} |cut -c3`" = "w" && octal=`expr $octal + 200` # test "${tb[0]} |cut -c4`" = "x" && octal=`expr $octal + 100` # test "${tb[0]} |cut -c5`" = "r" && octal=`expr $octal + 40` # test "${tb[0]} |cut -c6`" = "w" && octal=`expr $octal + 20` # test "${tb[0]} |cut -c7`" = "x" && octal=`expr $octal + 10` # test "${tb[0]} |cut -c8`" = "r" && octal=`expr $octal + 4` # test "${tb[0]} |cut -c9`" = "w" && octal=`expr $octal + 2` # test "${tb[0]} |cut -c10`" = "x" && octal=`expr $octal + 1` # sticky bit on # test "`-k $PathFile`" = "x" && octal=`expr $octal + 1000` # Bit setgid on # test "`-g $PathFile`" = "x" && octal=`expr $octal + 2000` # setuid on # test "`-u $PathFile`" = "x" && octal=`expr $octal + 4000` # test "`echo $1 |cut -c4`" = "s" && octal=`expr $octal + 4100` # test "`echo $1 |cut -c7`" = "s" && octal=`expr $octal + 6110` # test "`echo $1 |cut -c10`" = "t" && octal=`expr $octal + 7001` # test "`echo $1 |cut -c4`" = "S" && octal=`expr $octal + 4000` # test "`echo $1 |cut -c7`" = "S" && octal=`expr $octal + 6000` # test "`echo $1 |cut -c10`" = "T" && octal=`expr $octal + 7000` # Ecriture #j'ai mis d'abort les droit avant le fichier pour des facilité de lecture pour la suite echo "$tb[0] $octal $tb[2] $tb[3] $PathFile" >> "`pwd`/Desktop/droit000.txt" PathFile="" tb="" #on fait une pause pour lire les info #sleep 1 done exit 0