From 68e4e52220a4505b8e78d6df86be9846658fa824 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Sun, 5 Nov 2017 00:48:32 -0400 Subject: [PATCH] fixed oddity of permissions in apache site add --- scripts/site_avenger/sitepush.sh | 30 ------------------------------ scripts/system/add_apache_site.sh | 17 +++++++---------- 2 files changed, 7 insertions(+), 40 deletions(-) diff --git a/scripts/site_avenger/sitepush.sh b/scripts/site_avenger/sitepush.sh index 99a8cbef..b88689b6 100644 --- a/scripts/site_avenger/sitepush.sh +++ b/scripts/site_avenger/sitepush.sh @@ -61,33 +61,3 @@ sep echo "Finished checking in the site at ${app_dirname}." - - - - - -echo bailing before deprecated code is run.; exit 0 - - -# see if there are any unmerged files, if so, do not try to push files -if [[ `git ls-files -u` ]]; then - echo "Git: local changes!" - echo "Aborting. Please resolve manually and re-run this script" -else - # http://stackoverflow.com/questions/5143795/how-can-i-check-in-a-bash-script-if-my-local-git-repo-has-changes - # see if there are any new files that need pushing (status will show new files) - if [[ `git status --porcelain` ]]; then - # changes - git add . -A - git commit -m "SERVER. Adding user uploaded files. [via sitepush]" - git push origin master - echo "Git: changes pushed to [master]" - else - # no changes - echo "Git: nothing to push. [master] up to date." - fi -fi - -#### - - diff --git a/scripts/system/add_apache_site.sh b/scripts/system/add_apache_site.sh index db049e46..909604bb 100644 --- a/scripts/system/add_apache_site.sh +++ b/scripts/system/add_apache_site.sh @@ -88,8 +88,6 @@ function restart_apache() fi } -# chown folder to group www-data. can be done without setting a user, right? - # sets up the serverpilot storage location for a user hosted web site. function maybe_create_site_storage() { @@ -102,16 +100,15 @@ function maybe_create_site_storage() fi # now give the web server some access to the folder. this is crucial since the folders - # can be hosted in any user folder, and the group permissions will usually be only for the user. - chown -R $(logname):www-data "$BASE_PATH" - check_result "Failed to set www-data as the owner on the path: $full_path" - # note that web serving will also hose up unless the path to the folder is writable. so we walk backwards - # and make sure group access is available. + # can be hosted in any user folder, and the group permissions will not necessarily be correct already. local chow_path="$full_path" + # only the first chmod is recursive; the rest just apply to the specific folder of interest. + chmod -R g+rx "$chow_path" + # walk backwards up the path and fix perms. while [[ $chow_path != $HOME ]]; do -#echo chow path is now $chow_path - chmod -R g+rx "$chow_path" - check_result "Failed to add group permissions for www-data on the path: $chow_path" +echo chow path is now $chow_path + chmod g+rx "$chow_path" + check_result "Failed to add group permissions on the path: $chow_path" # reassert the user's ownership of any directories we might have just created. chown $(logname) "$chow_path" check_result "changing ownership to user failed on the path: $chow_path" -- 2.34.1