samba/OLD/cleanup_samba_rights.sh
2018-04-02 17:51:11 +02:00

30 lines
744 B
Bash
Executable File

#!/usr/bin/env bash
base_dir=$1
group=$2
file_perm=${3:-664}
dir_perm=${4:-2775}
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" =~ .Trash ]] && continue
[[ "$filename" = "lost+found" ]] && continue
chmod $dir_perm "$filename" ; chgrp $group "$filename"
find "$filename" ! -group $group -exec chgrp -R $group {} \;
find "$filename" -type d ! -perm $dir_perm -exec chmod -R $dir_perm {} \;
find "$filename" -type f ! -perm $file_perm -exec chmod -R $file_perm {} \;
done < <(find $base_dir -mindepth 1 -maxdepth 1 -print0)
exit 0