pub enum ProcessPermission {
Show 23 variants
DynTransition,
ExecMem,
Fork,
GetPgid,
GetRlimit,
GetSched,
GetSession,
Ptrace,
RlimitInh,
SetCurrent,
SetExec,
SetFsCreate,
SetKeyCreate,
SetPgid,
SetRlimit,
SetSched,
SetSockCreate,
Share,
SigChld,
SigKill,
SigStop,
Signal,
Transition,
}
Expand description
A well-known “process” class permission in SELinux policy that has a particular meaning in policy enforcement hooks.
Variants§
DynTransition
Permission to dynamically transition a process to a different security domain.
ExecMem
Permission to execute arbitrary code from memory.
Fork
Permission to fork the current running process.
GetPgid
Permission to get the process group ID.
GetRlimit
Permission to get the resource limits on a process.
GetSched
Permission to get scheduling policy currently applied to a process.
GetSession
Permission to get the session ID.
Ptrace
Permission to trace a process.
RlimitInh
Permission to inherit the parent process’s resource limits on exec.
SetCurrent
Permission to set the calling task’s current Security Context. The “dyntransition” permission separately limits which Contexts “setcurrent” may be used to transition to.
SetExec
Permission to set the Security Context used by exec()
.
SetFsCreate
Permission to set the Security Context used when creating filesystem objects.
SetKeyCreate
Permission to set the Security Context used when creating kernel keyrings.
SetPgid
Permission to set the process group ID.
SetRlimit
Permission to set the resource limits on a process.
SetSched
Permission to set scheduling policy for a process.
SetSockCreate
Permission to set the Security Context used when creating new labeled sockets.
Permission to share resources (e.g. FD table, address-space, etc) with a process.
SigChld
Permission to send SIGCHLD to a process.
SigKill
Permission to send SIGKILL to a process.
SigStop
Permission to send SIGSTOP to a process.
Signal
Permission to send a signal other than SIGKILL, SIGSTOP, or SIGCHLD to a process.
Transition
Permission to transition to a different security domain.
Implementations§
Source§impl ProcessPermission
impl ProcessPermission
pub fn all_variants() -> Vec<Self>
Trait Implementations§
Source§impl ClassPermission for ProcessPermission
impl ClassPermission for ProcessPermission
fn class(&self) -> KernelClass
Source§impl Clone for ProcessPermission
impl Clone for ProcessPermission
Source§fn clone(&self) -> ProcessPermission
fn clone(&self) -> ProcessPermission
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ProcessPermission
impl Debug for ProcessPermission
Source§impl From<ProcessPermission> for KernelPermission
impl From<ProcessPermission> for KernelPermission
Source§fn from(v: ProcessPermission) -> Self
fn from(v: ProcessPermission) -> Self
Source§impl Hash for ProcessPermission
impl Hash for ProcessPermission
Source§impl PartialEq for ProcessPermission
impl PartialEq for ProcessPermission
impl Eq for ProcessPermission
impl StructuralPartialEq for ProcessPermission
Auto Trait Implementations§
impl Freeze for ProcessPermission
impl RefUnwindSafe for ProcessPermission
impl Send for ProcessPermission
impl Sync for ProcessPermission
impl Unpin for ProcessPermission
impl UnwindSafe for ProcessPermission
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
Source§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more