samba/cleanup_samba_rights.sh
2017-02-21 02:35:05 +01:00

29 lines
663 B
Bash
Executable File

#!/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