exec
runs sudo commands with -u
to preserve user
#3959
Draft
+15
−6
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.
fixes #3933
I had to run the
sudo concierge prepare -p dev --extra-snaps terraform
command twice whether I was shelled in withmultipass shell
or usingmultipass exec
. Runningmultipass exec juju-dev -- sudo env | grep SUDO_
gives the correct SUDO environment variablesIn order to
cd
into directories we need to dosudo sh -c
becausecd
cannot be run withsudo
. This changes our SUDO_ user. We could usesudo -E
to preserve the entire environment but that may cause unintended behavior. Instead we usesudo -u
to restore the user. We know the user from thessh_info.username()