diff --git a/libexec_cron/prj_micprocess_cleanperm.sh b/libexec_cron/prj_micprocess_cleanperm.sh new file mode 100755 index 0000000..5f7d5a7 --- /dev/null +++ b/libexec_cron/prj_micprocess_cleanperm.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -e +set -u +P=/project/micprocess +G=miprogrp +[ ! -d "${P}/home" ] && exit 1 +mkdir -p "${P}/home/cron" +LOG="${P}/home/cron/cleanperm.sh.log" +NOTHOME="-not -regex ${P}/home/?.*" +date >>"${LOG}" +find "${P}/" -type d -not -perm -2771 ${NOTHOME} -exec chmod -v 2771 {} ';' >>"$LOG" 2>&1 +find "${P}/" -type f -perm -u+x -not -perm -g+x ${NOTHOME} -exec chmod -v ug+x,o-rw {} ';' >>"$LOG" 2>&1 +find "${P}/" -type f -perm -u+rw -not -perm -g+rw -not -perm /u=x ${NOTHOME} -exec chmod -v ug+rw,o-rw {} ';' >>"$LOG" 2>&1 +find "${P}/" -type f -perm -u+rwx -not -perm -g+rwx ${NOTHOME} -exec chmod -v ug+rwx,o-rwx {} ';' >>"$LOG" 2>&1 +find "${P}/" -not -group "${G}" -ls -exec chgrp -v "${G}" {} ';' >>"$LOG" 2>&1