#[repr(u8)]pub enum CommonFsNodePermission {
Append = 0,
AuditAccess = 1,
Create = 2,
GetAttr = 3,
Ioctl = 4,
Lock = 5,
Map = 6,
Read = 7,
RelabelFrom = 8,
RelabelTo = 9,
SetAttr = 10,
Write = 11,
}Expand description
Allow callers to use the kernel class & permission definitions.
Variants§
Append = 0
Permission to append to a file or socket.
AuditAccess = 1
Pseudo-permission used in dontaudit access-rules to allow access checks to be made
between specific sources & targets without generating audit logs.
Create = 2
Permission to create a file or socket.
GetAttr = 3
Permission to query attributes, including uid, gid and extended attributes.
Ioctl = 4
Permission to execute ioctls on the file or socket.
Lock = 5
Permission to set and unset file or socket locks.
Map = 6
Permission to map a file.
Read = 7
Permission to read content from a file or socket, as well as reading or following links.
RelabelFrom = 8
Permission checked against the existing label when updating a node’s security label.
RelabelTo = 9
Permission checked against the new label when updating a node’s security label.
SetAttr = 10
Permission to modify attributes, including uid, gid and extended attributes.
Write = 11
Permission to write contents to the file or socket.
Implementations§
Trait Implementations§
Source§impl Clone for CommonFsNodePermission
impl Clone for CommonFsNodePermission
Source§fn clone(&self) -> CommonFsNodePermission
fn clone(&self) -> CommonFsNodePermission
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CommonFsNodePermission
impl Debug for CommonFsNodePermission
Source§impl<T: Into<FsNodeClass>> ForClass<T> for CommonFsNodePermission
impl<T: Into<FsNodeClass>> ForClass<T> for CommonFsNodePermission
Source§fn for_class(&self, class: T) -> KernelPermission
fn for_class(&self, class: T) -> KernelPermission
Returns the class-affine KernelPermission value corresponding to this common permission.
This is used to allow hooks to resolve e.g. common “read” permission access based on the
“allow” rules for the correct target object class.
Source§impl From<CommonFsNodePermission> for CommonFilePermission
impl From<CommonFsNodePermission> for CommonFilePermission
Source§fn from(other: CommonFsNodePermission) -> Self
fn from(other: CommonFsNodePermission) -> Self
Source§impl From<CommonFsNodePermission> for CommonSocketPermission
impl From<CommonFsNodePermission> for CommonSocketPermission
Source§fn from(other: CommonFsNodePermission) -> Self
fn from(other: CommonFsNodePermission) -> Self
Source§impl Hash for CommonFsNodePermission
impl Hash for CommonFsNodePermission
Source§impl PartialEq for CommonFsNodePermission
impl PartialEq for CommonFsNodePermission
impl Copy for CommonFsNodePermission
impl Eq for CommonFsNodePermission
impl StructuralPartialEq for CommonFsNodePermission
Auto Trait Implementations§
impl Freeze for CommonFsNodePermission
impl RefUnwindSafe for CommonFsNodePermission
impl Send for CommonFsNodePermission
impl Sync for CommonFsNodePermission
impl Unpin for CommonFsNodePermission
impl UnsafeUnpin for CommonFsNodePermission
impl UnwindSafe for CommonFsNodePermission
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,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§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§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