#!/usr/bin/env bash base_dir=$1 group=$2 dir_perm=2775 #dir_perm="u=rwx,g=rwx,o=rx,g+s" file_perm=664 chmod $dir_perm $base_dir chgrp $group $base_dir while IFS='' read -r -d '' filename ; do [ -f "$filename" ] && ( chmod $file_perm "$filename"; chgrp $group $"$filename") [ ! -d "$filename" ] && continue [ "$filename" = "lost+found" ] && continue chmod $dir_perm "$filename" ; chgrp $group "$filename" find "$filename" -exec chgrp -R $group {} \; find "$filename" -type d -exec chmod -R $dir_perm {} \; find "$filename" -type f -exec chmod -R $file_perm {} \; done < <(find $base_dir -mindepth 1 -maxdepth 1 -print0) exit 0