pi-hole / FTL

The Pi-hole FTL engine
https://pi-hole.net
Other
1.34k stars 187 forks source link

Ensure we also change ownership of the WAL database files #1970

Closed DL6ER closed 1 month ago

DL6ER commented 1 month ago

What does this implement/fix?

If FTL is being invoked in an unusual way, it can happen that the database is created as root and later re-owned to a low-privilege user. Since the default database mode is now WAL, we have additional -shm and -wal files which need to be re-owned as well or the database becomes read-only.

This permission issue "auto-fixes" on the next FTL restart and everything will be fine thereafter. Nonetheless, this PR ensures the permissions are already correct during the initial start and not only after the first restart.


Related issue or feature (if applicable): See linked Discourse thread below.

Pull request in docs with documentation (if applicable): N/A


By submitting this pull request, I confirm the following:

  1. I have read and understood the contributors guide, as well as this entire template. I understand which branch to base my commits and Pull Requests against.
  2. I have commented my proposed changes within the code.
  3. I am willing to help maintain this change if there are issues with it later.
  4. It is compatible with the EUPL 1.2 license
  5. I have squashed any insignificant commits. (git rebase)

Checklist:

pralor-bot commented 1 month ago

This pull request has been mentioned on Pi-hole Userspace. There might be relevant details there:

https://discourse.pi-hole.net/t/usage-of-dnsmasqs-user-option-does-not-chown-db-shm-and-db-wal-files-on-first-launch/70244/3

DL6ER commented 1 month ago

Confirmed working by OP on Discourse