|
From: Bruce S. <bl...@us...> - 2008-04-18 12:47:13
|
Update of /cvsroot/devil-linux/build/config/etc/init.d In directory sc8-pr-cvs12.sourceforge.net:/tmp/cvs-serv6762/config/etc/init.d Modified Files: setfileperm Log Message: Fixed setting file permissions on boot to not confict with aufs. Index: setfileperm =================================================================== RCS file: /cvsroot/devil-linux/build/config/etc/init.d/setfileperm,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- setfileperm 5 Mar 2004 01:55:21 -0000 1.9 +++ setfileperm 18 Apr 2008 12:47:06 -0000 1.10 @@ -20,7 +20,6 @@ [ "$1" != "start" ] && exit 0 -#source /etc/init.d/functions source /etc/init.d/functions source /etc/sysconfig/config @@ -29,22 +28,27 @@ echo setting file permissions LOGFILE="/dev/null" -[ $SET_FILE_PERM_DEBUG = "yes" ] && LOGFILE="/tmp/permissions.log" +[ "$SET_FILE_PERM_DEBUG" = "yes" ] && LOGFILE="/tmp/permissions.log" echo > $LOGFILE for PERMFILE in $(ls /etc/sysconfig/permissions.*) do echo "processing $PERMFILE ..." - grep -v ^# $PERMFILE | while read FILE OWNER PERM + grep -v -e '^ *#' -e '^ *$' $PERMFILE | \ + while read FILES OWNERGROUP PERM OTHER do - if [ -n "$FILE" ] ; then - #if [ -e "$FILE" ]; then - chown $OWNER $FILE >> $LOGFILE 2>&1 - chmod $PERM $FILE >> $LOGFILE 2>&1 - #else - # echo "$FILE not found" - #fi - fi + for FILE in $FILES + do + if [ -e $FILE ]; then + OWNER=${OWNERGROUP%%.*} + GROUP=${OWNERGROUP##*.} + find $FILE -maxdepth 0 ! -user $OWNER -print -exec chown $OWNER {} \; >> $LOGFILE 2>&1 + find $FILE -maxdepth 0 ! -group $GROUP -print -exec chgrp $GROUP {} \; >> $LOGFILE 2>&1 + find $FILE -maxdepth 0 ! -perm $PERM -print -exec chmod $PERM {} \; >> $LOGFILE 2>&1 + else + echo cannot find: $FILE >> $LOGFILE + fi + done done done |