Install doas on apk-based distros + use it if sudo is unavailable
#6471
+30
−19
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for your contribution to the Pi-hole Community!
Please read the comments below to help us consider your Pull Request.
We are all volunteers and completing the process outlined will help us review your commits quicker.
Please make sure you
What does this PR aim to accomplish?:
This PR changes the privilege escalation tool used on Alpine Linux (and other apk-based distros) to
doas(instead ofsudo, which is deprecated since v3.15 in Alpine Linux). It also fixes #6459.How does this PR accomplish the above?:
pihole-metapackage has been updated to installdoasinstead ofsudo(including meta-package version update to v0.2).sudois called have been changed to check which privilege escalation tool is installed on the system, and use the appropriate command (sudostill takes precedence on all installations, e.g. if it was installed manually).doas-sudo-shim(as discussed in my original issue), usingdoasdirectly allows users to continue to usesudoif they wish (including for other programs that may still need it).The only behaviour change I've noticed with
doas(at least on a default install of Alpine Linux) is that it always asks for a password when running commands using it, even when running as root. This can be changed to matchsudo's behaviour by addingpermit nopass rootto thedoas.conf(not included in this PR).Link documentation PRs if any are needed to support this PR:
N/A
By submitting this pull request, I confirm the following:
git rebase)