Scopes the sudo keep-alive loop to automated operations only#75
Open
rolandboon wants to merge 1 commit intomainfrom
Open
Scopes the sudo keep-alive loop to automated operations only#75rolandboon wants to merge 1 commit intomainfrom
rolandboon wants to merge 1 commit intomainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The
manjikazescript uses a background loop that refreshes the sudo timestamp every 60 seconds, keeping root access alive without re-prompting. This is necessary because a fresh install or system update can take >5 minutes, exceeding sudo's default timeout.The problem with the current implementation is that this loop runs for the entire manjikaze session. Including the interactive menu, where the user may spend an extended period browsing options. During that time, any subprocess (or rogue process in the same session) effectively has passwordless root access.
This PR changes:
The keep-alive loop has been extracted into
start_sudo_keepaliveandstop_sudo_keepalivehelpers in. Inmanjikaze, the keep-alive is now:sudo -v(the initial authentication prompt)handle_menu(the interactive menu)EXITtrapThis means the privileged window is limited to exactly the operations that need it (updates, prerequisite installation, migrations, audits) and does not extend into interactive use.
On the
manjikaze updatepath the keep-alive runs for the full operation and is cleaned up when the script exits, which is acceptable since that path is fully automated with no interactive menu.