#! /bin/bash #scan directory recursively and change the diretory's permission # under $1 to $2 and all the file's to $3 dir=$1 perD=$2 perF=$3 echo .... scanning directory $dir chmod $perD $dir for i in $dir/* do if test -d $i then $0 $i $perD $perF else echo ".... changing file $i" chmod $perF $i fi done # una forma mas simple de obetener este resultado es: # find . -type f -exec chmod 644 {} \; # en lugar de 644 usar otro permiso. # Si deseamos cambiar permisos de Directorios y archivos: # find . \( -type f -not -perm 0600 -exec chmod 0600 {} \; \) \ # -or \ # \( -type d -not -perm 0700 -exec chmod 0700 {} \; \)