Eu acho um script útil, pois muitas vezes é útil alterar as permissões de arquivo e diretório em uma só vez, e eles geralmente são vinculados. 770 e 660 para diretórios compartilhados em um servidor de arquivos, 755/644 para diretórios de servidor web, etc. Eu mantenho um script com o modo mais comumente usado para esse tipo de servidor no bin / root e apenas faço o find manualmente quando o common modo não se aplica.
#!/bin/sh
# syntax: setperm.s destdir
#
if [ -z $1 ] ; then echo "Requires single argument: <directoryname>" ; exit 1 ; fi
destdir=$1
dirmode=0770
filemode=0660
YN=no
printf "\nThis will RECURSIVELY change the permissions for this entire branch:\n "
printf "\t$destdir\n"
printf "\tDirectories chmod = $dirmode\tFiles chmod = $filemode\n"
printf "Are you sure want to do this [$YN]? "
read YN
case $YN in
[yY]|[yY][eE][sS])
# change permissions on files and directories.
find $destdir -type f -print0 | xargs -0 chmod $filemode $i
find $destdir -type d -print0 | xargs -0 chmod $dirmode $ii ;;
*) echo "\nBetter safe than sorry I always say.\n" ;;
esac