29 lines
663 B
Bash
Executable File
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
|