pub struct CapabilitySet {
pub effective: Capabilities,
pub permitted: Capabilities,
pub inheritable: Capabilities,
pub bounding: Capabilities,
pub ambient: Capabilities,
}Expand description
能力集合
Linux 为每个进程维护 5 个能力集:
- effective: 当前有效的能力(用于权限检查)
- permitted: 允许的能力上限
- inheritable: 可以继承给子进程的能力
- bounding: 能力边界集(限制可获得的能力)
- ambient: 环境能力(保持跨 execve)
Fields§
§effective: Capabilities有效能力集(当前生效的能力)
permitted: Capabilities允许能力集(进程可以使用的能力)
inheritable: Capabilities可继承能力集(execve 时可以继承的能力)
bounding: Capabilities边界能力集(能力的上限)
ambient: Capabilities环境能力集(保持跨 execve 的能力)
Implementations§
Source§impl CapabilitySet
impl CapabilitySet
Sourcepub fn has(&self, cap: Capabilities) -> bool
pub fn has(&self, cap: Capabilities) -> bool
检查是否拥有某个能力
Sourcepub fn has_all(&self, caps: Capabilities) -> bool
pub fn has_all(&self, caps: Capabilities) -> bool
检查是否拥有所有指定的能力
Sourcepub fn add(&mut self, cap: Capabilities)
pub fn add(&mut self, cap: Capabilities)
添加能力(在单 root 用户系统中无实际效果)
Sourcepub fn remove(&mut self, cap: Capabilities)
pub fn remove(&mut self, cap: Capabilities)
移除能力(在单 root 用户系统中无实际效果)
Trait Implementations§
Source§impl Clone for CapabilitySet
impl Clone for CapabilitySet
Source§fn clone(&self) -> CapabilitySet
fn clone(&self) -> CapabilitySet
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapabilitySet
impl Debug for CapabilitySet
impl Copy for CapabilitySet
Auto Trait Implementations§
impl Freeze for CapabilitySet
impl RefUnwindSafe for CapabilitySet
impl Send for CapabilitySet
impl Sync for CapabilitySet
impl Unpin for CapabilitySet
impl UnwindSafe for CapabilitySet
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)