#[repr(u8)]pub enum CommonFilePermission {
Show 18 variants
Append = 0,
AuditAccess = 1,
Create = 2,
GetAttr = 3,
Ioctl = 4,
Lock = 5,
Map = 6,
Read = 7,
RelabelFrom = 8,
RelabelTo = 9,
SetAttr = 10,
Write = 11,
Execute = 12,
Link = 13,
MountOn = 14,
Open = 15,
Rename = 16,
Unlink = 17,
}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.
Execute = 12
Permission to execute a file with domain transition.
Link = 13
Permissions to create hard link.
MountOn = 14
Permission to use as mount point; only useful for directories and files.
Open = 15
Permission to open a file.
Rename = 16
Permission to rename a file.
Unlink = 17
Permission to delete a file or remove a hard link.
Implementations§
Trait Implementations§
Source§impl Clone for CommonFilePermission
impl Clone for CommonFilePermission
Source§fn clone(&self) -> CommonFilePermission
fn clone(&self) -> CommonFilePermission
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CommonFilePermission
impl Debug for CommonFilePermission
Source§impl ForClass<FileClass> for CommonFilePermission
impl ForClass<FileClass> for CommonFilePermission
Source§fn for_class(&self, class: FileClass) -> KernelPermission
fn for_class(&self, class: FileClass) -> 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<CommonFilePermission> for AnonFsNodePermission
impl From<CommonFilePermission> for AnonFsNodePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for BlockFilePermission
impl From<CommonFilePermission> for BlockFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for CharacterFilePermission
impl From<CommonFilePermission> for CharacterFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for DirPermission
impl From<CommonFilePermission> for DirPermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for FifoFilePermission
impl From<CommonFilePermission> for FifoFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for FilePermission
impl From<CommonFilePermission> for FilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for LinkFilePermission
impl From<CommonFilePermission> for LinkFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for MemFdFilePermission
impl From<CommonFilePermission> for MemFdFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFilePermission> for SockFilePermission
impl From<CommonFilePermission> for SockFilePermission
Source§fn from(other: CommonFilePermission) -> Self
fn from(other: CommonFilePermission) -> Self
Source§impl From<CommonFsNodePermission> for CommonFilePermission
impl From<CommonFsNodePermission> for CommonFilePermission
Source§fn from(other: CommonFsNodePermission) -> Self
fn from(other: CommonFsNodePermission) -> Self
Source§impl Hash for CommonFilePermission
impl Hash for CommonFilePermission
Source§impl PartialEq for CommonFilePermission
impl PartialEq for CommonFilePermission
Source§impl VariantArray for CommonFilePermission
impl VariantArray for CommonFilePermission
impl Copy for CommonFilePermission
impl Eq for CommonFilePermission
impl StructuralPartialEq for CommonFilePermission
Auto Trait Implementations§
impl Freeze for CommonFilePermission
impl RefUnwindSafe for CommonFilePermission
impl Send for CommonFilePermission
impl Sync for CommonFilePermission
impl Unpin for CommonFilePermission
impl UnsafeUnpin for CommonFilePermission
impl UnwindSafe for CommonFilePermission
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