-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(decl/proc-chain): add user and capabilities support #242
feat(decl/proc-chain): add user and capabilities support #242
Conversation
Signed-off-by: Leonardo Di Giovanna <[email protected]> Co-authored-by: Aldo Lacuku <[email protected]>
Signed-off-by: Leonardo Di Giovanna <[email protected]> Co-authored-by: Aldo Lacuku <[email protected]>
a22046a
to
46b490d
Compare
Add the capability to specify the user and the linux capabilities a process in the process chain can be run with. Capabilities can only be specified for the leaf process. Omitting capabilities is equivalent to specify 'all=iep'. Each process in the chain runs with real user/group ID equals to 0 (root). Specifying a user sets the effective and the saved set-user/group-ID to the corresponding user/group IDs. If a user specified in the chain doesn't exist, it is created before running the test and deleted after test execution. The securebit SECBBIT_NOROOT is enabled before creating any child process: this is done in order to prevent the kernel from ignoring the specified capabilities when the real user ID is zero (see 'Capabilities and execution of programs by root' in capabilities(7)). Users who wish to run the before and after script or creating a 'process' test resource must take into account to provide at least CAP_SETPCAP in its permitted and effective set. Signed-off-by: Leonardo Di Giovanna <[email protected]> Co-authored-by: Aldo Lacuku <[email protected]>
46b490d
to
0d1d489
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alacuku, ekoops The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
LGTM label has been added. Git tree hash: 46d6ae45be096f70da58cf932af61b147b5cac82
|
168ee46
into
falcosecurity:declarative-testing
What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area pkg
What this PR does / why we need it:
This PR adds the capability to specify the user and the linux capabilities a process in the process chain can be run with.
Capabilities can only be specified for the leaf process. Omitting capabilities is equivalent to specify
all=iep
.Each process in the chain runs with real user/group ID equals to 0 (root). Specifying a user sets the effective and the saved set-user/group-ID to the corresponding user/group IDs. If a user specified in the chain doesn't exist, it is created before running the test and deleted after test execution.
The securebit
SECBBIT_NOROOT
is enabled on the calling thread before creating any child process: this is done in order to prevent the kernel from ignoring the specified capabilities when the real user ID is zero (see 'Capabilities and execution of programs by root' in capabilities(7)).Users who wish to run the before and after script or creating a 'process' test resource must take into account to provide at least
CAP_SETPCAP
in its permitted and effective set.Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer: