From 1a8d5fb4a90cacae4a4378513a35cfc059cb37b2 Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Sat, 28 Jul 2018 21:56:18 -0400 Subject: [PATCH 1/4] Allow PHP to edit the regex file if installed Fixes permissions error on the web interface when modifying the regex. Signed-off-by: Mcat12 --- automated install/basic-install.sh | 9 +++++++++ gravity.sh | 5 ----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index c7158435..1bbebde9 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -50,6 +50,7 @@ PI_HOLE_INSTALL_DIR="/opt/pihole" useUpdateVars=false adlistFile="/etc/pihole/adlists.list" +regexFile="/etc/pihole/regex.list" # Pi-hole needs an IP address; to begin, these variables are empty since we don't know what the IP is until # this script can run IPV4_ADDRESS="" @@ -1235,6 +1236,11 @@ installConfigs() { # Make sure Pi-hole's config files are in place version_check_dnsmasq + # Install an empty regex file + touch "${regexFile}" + chown pihole:pihole "${regexFile}" + chmod 664 "${regexFile}" + # If the user chose to install the dashboard, if [[ "${INSTALL_WEB_SERVER}" == true ]]; then # and if the Web server conf directory does not exist, @@ -1261,6 +1267,9 @@ installConfigs() { chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /var/cache/lighttpd/compress mkdir -p /var/cache/lighttpd/uploads chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /var/cache/lighttpd/uploads + + # Let PHP edit the regex file + chown pihole:${LIGHTTPD_GROUP} "${regexFile}" fi } diff --git a/gravity.sh b/gravity.sh index b018e2ea..50c37784 100755 --- a/gravity.sh +++ b/gravity.sh @@ -643,11 +643,6 @@ if [[ "${skipDownload}" == false ]] || [[ "${listType}" == "whitelist" ]]; then gravity_Whitelist fi -# Set proper permissions on the regex file -touch "${regexFile}" -chown pihole:www-data "${regexFile}" -chmod 664 "${regexFile}" - convert_wildcard_to_regex gravity_ShowBlockCount From a55cc5533853264fb2768eb1fc48a67dd55a804f Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Sat, 28 Jul 2018 23:07:35 -0400 Subject: [PATCH 2/4] Only `touch` the regex file if it doesn't already exist The other permission calls will always be run so that the file is in the expected state after install and repair. Signed-off-by: Mcat12 --- automated install/basic-install.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 1bbebde9..9d04bd85 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -1237,7 +1237,9 @@ installConfigs() { version_check_dnsmasq # Install an empty regex file - touch "${regexFile}" + if [[ ! -f "${regexFile}" ]]; then + touch "${regexFile}" + fi chown pihole:pihole "${regexFile}" chmod 664 "${regexFile}" From 57af0ba0a49044968fd472025cd50ae3b3f3f0fa Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Sun, 29 Jul 2018 18:26:00 -0400 Subject: [PATCH 3/4] Use `install` to make the regex file Signed-off-by: Mcat12 --- automated install/basic-install.sh | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 9d04bd85..6ea66554 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -1238,10 +1238,9 @@ installConfigs() { # Install an empty regex file if [[ ! -f "${regexFile}" ]]; then - touch "${regexFile}" + # Let PHP edit the regex file, if installed + install -o pihole -g "${LIGHTTPD_GROUP:-pihole}" -m 644 /dev/null "${regexFile}" fi - chown pihole:pihole "${regexFile}" - chmod 664 "${regexFile}" # If the user chose to install the dashboard, if [[ "${INSTALL_WEB_SERVER}" == true ]]; then @@ -1269,9 +1268,6 @@ installConfigs() { chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /var/cache/lighttpd/compress mkdir -p /var/cache/lighttpd/uploads chown ${LIGHTTPD_USER}:${LIGHTTPD_GROUP} /var/cache/lighttpd/uploads - - # Let PHP edit the regex file - chown pihole:${LIGHTTPD_GROUP} "${regexFile}" fi } From fb2810557a2e5d42d18d01d6595ac77f693aacb0 Mon Sep 17 00:00:00 2001 From: Dan Schaper Date: Sun, 29 Jul 2018 16:09:03 -0700 Subject: [PATCH 4/4] Allow web user group to access regex.list Signed-off-by: Dan Schaper --- automated install/basic-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/automated install/basic-install.sh b/automated install/basic-install.sh index 6ea66554..7b38df31 100755 --- a/automated install/basic-install.sh +++ b/automated install/basic-install.sh @@ -1239,7 +1239,7 @@ installConfigs() { # Install an empty regex file if [[ ! -f "${regexFile}" ]]; then # Let PHP edit the regex file, if installed - install -o pihole -g "${LIGHTTPD_GROUP:-pihole}" -m 644 /dev/null "${regexFile}" + install -o pihole -g "${LIGHTTPD_GROUP:-pihole}" -m 664 /dev/null "${regexFile}" fi # If the user chose to install the dashboard,