#[non_exhaustive]pub enum Access {
Show 21 variants
Execute,
WriteFile,
ReadFile,
ReadDir,
RemoveDir,
RemoveFile,
MakeChar,
MakeDir,
MakeReg,
MakeSock,
MakeFifo,
MakeBlock,
MakeSym,
Refer,
Truncate,
IoctlDev,
ResolveUnix,
Read,
Write,
ReadWrite,
All,
}Expand description
A filesystem access right.
Values are either a single right or a group of related rights. Because this is an enumeration (and not a raw bitmask), a policy cannot contain bits the kernel does not define.
The groups require the Landlock ABI that introduced their newest member:
Access::Read needs ABI 1, Access::Write and Access::ReadWrite
need ABI 3 (Access::Truncate) and Access::All needs ABI 9
(Access::ResolveUnix). new_strict refuses them on older kernels, while
new_best_effort drops what the kernel does not support.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Execute
Execute a file.
WriteFile
Open a file for writing.
ReadFile
Open a file for reading.
ReadDir
Open a directory or list its content.
RemoveDir
Remove an empty directory, or rename one.
RemoveFile
Unlink a file, or rename one.
MakeChar
Create (or rename or link) a character device.
MakeDir
Create (or rename) a directory.
MakeReg
Create (or rename or link) a regular file.
MakeSock
Create (or rename or link) a UNIX domain socket.
MakeFifo
Create (or rename or link) a named pipe.
MakeBlock
Create (or rename or link) a block device.
MakeSym
Create (or rename or link) a symbolic link.
Refer
Link or rename a file to or from another directory.
Truncate
Truncate a file (truncate, ftruncate, creat, open with
O_TRUNC).
IoctlDev
Invoke ioctl commands on an opened character or block device.
ResolveUnix
Look up pathname UNIX domain sockets.
Read
Read access to files and directories (Access::ReadFile and
Access::ReadDir).
Write
Write access: everything that modifies the content of a directory
(Access::WriteFile, Access::Truncate, Access::RemoveDir,
Access::RemoveFile, the Make* rights and Access::Refer).
ReadWrite
All
Every access right.