diff --git a/www-perms.sh b/www-perms.sh index faee722..bd24f49 100755 --- a/www-perms.sh +++ b/www-perms.sh @@ -7,24 +7,13 @@ # so we'll check with a whitelist. # Requires bash 3.2 -WWWROOT=/var/www/virtsrv +WWWROOT=/var/www/ WWWUSER=www-data WHITELIST="(mpd.lugh.ch/music|\ -mail.lugh.ch/config/conf|\ -/turba/config/conf|\ -admin.lugh.ch/webalizer|\ -admin.lugh.ch/munin|\ -oli.lugh.ch/cache|\ +foo.example.org/cache|\ /wp-content/cache|\ -/wp-content/w3tc/objectcache|\ -/wp-content/w3tc/dbcache|\ -/wp-content/w3tc/pgcache|\ -/wp-content/uploads|\ -/piwik/tmp|\ /piwik/config/config.ini.php|\ -sitemap.xml*|\ -telperien.lugh.ch/gaestebuch/data|\ -telperien.lugh.ch/gaestebuch/data/book.dat +sitemap.xml* )" listcount=0 whitelist_matches=0 @@ -36,7 +25,7 @@ while IFS="" read -r matchedentry; do echo -e "$matchedentry\r" listcount=$((listcount+1)) fi -done < <(find "$WWWROOT" -perm /u+w -user $WWWUSER -o -perm /g+w -group $WWWUSER) +done < <(find "$WWWROOT" ! -type l -perm /u+w -user $WWWUSER -o -perm /g+w -group $WWWUSER) if [ $listcount -gt 0 ]; then echo "Finished: $listcount items are writable by '$WWWUSER' ($whitelist_matches whitelisted)."