#!/bin/bash # # vhost-stack # https://git.stack-source.com/msb/vhost-stack # Copyright (c) 2022 Matthew Saunders Brown # GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) # load include file source $(dirname $0)/vhost.sh help() { thisfilename=$(basename -- "$0") echo "Make sure all home (/home/...) and virtualhost (/srv/www/...) files are owned by correct users." echo "" echo "usage: $thisfilename [-n|-v] [-h]" echo "" echo " -h Print this help." echo " -n dry-run - List all files that need modification, but don't actually do anything." echo " -v verbose - List all files that are being modified." } vhost:getoptions "$@" for VHOST in /srv/www/*/; { # get username USER=$(stat -c '%U' $VHOST) # make sure all files & dirs are owned by user if [[ -n $verbose ]] || [[ -n $dryrun ]]; then /usr/bin/find $VHOST ! -user $USER fi if [[ -n $dryrun ]]; then /usr/bin/find $VHOST ! -user $USER -exec chown $USER {} + fi } for HOME in /home/*/; { # get username USER=$(stat -c '%U' $HOME) # make sure all files & dirs are owned by user if [[ -n $verbose ]] || [[ -n $dryrun ]]; then /usr/bin/find $HOME ! -user $USER fi if [[ -n $dryrun ]]; then /usr/bin/find $HOME ! -user $USER -exec chown $USER {} + fi }