pub struct AltrootFS { /* private fields */ }
Expand description
Similar to a chroot but done purely by path manipulation
NOTE: This mechanism should only be used for convenience, NOT FOR SECURITY
Symlinks, hardlinks, remounts, side channels and other file system mechanisms can be exploited to circumvent this mechanism
Implementations§
Trait Implementations§
source§impl FileSystem for AltrootFS
impl FileSystem for AltrootFS
source§fn read_dir(
&self,
path: &str
) -> VfsResult<Box<dyn Iterator<Item = String> + Send>>
fn read_dir( &self, path: &str ) -> VfsResult<Box<dyn Iterator<Item = String> + Send>>
Iterates over all direct children of this directory path
NOTE: the returned String items denote the local bare filenames, i.e. they should not contain “/” anywhere
source§fn create_dir(&self, path: &str) -> VfsResult<()>
fn create_dir(&self, path: &str) -> VfsResult<()>
Creates the directory at this path Read more
source§fn open_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndRead + Send>>
fn open_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndRead + Send>>
Opens the file at this path for reading
source§fn create_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
fn create_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
Creates a file at this path for writing
source§fn append_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
fn append_file(&self, path: &str) -> VfsResult<Box<dyn SeekAndWrite + Send>>
Opens the file at this path for appending
source§fn metadata(&self, path: &str) -> VfsResult<VfsMetadata>
fn metadata(&self, path: &str) -> VfsResult<VfsMetadata>
Returns the file metadata for the file at this path
source§fn set_creation_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_creation_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files creation timestamp, if the implementation supports it
source§fn set_modification_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_modification_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files modification timestamp, if the implementation supports it
source§fn set_access_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
fn set_access_time(&self, path: &str, time: SystemTime) -> VfsResult<()>
Sets the files access timestamp, if the implementation supports it
source§fn exists(&self, path: &str) -> VfsResult<bool>
fn exists(&self, path: &str) -> VfsResult<bool>
Returns true if a file or directory at path exists, false otherwise
source§fn copy_file(&self, src: &str, dest: &str) -> VfsResult<()>
fn copy_file(&self, src: &str, dest: &str) -> VfsResult<()>
Copies the src path to the destination path within the same filesystem (optional)
Auto Trait Implementations§
impl !RefUnwindSafe for AltrootFS
impl Send for AltrootFS
impl Sync for AltrootFS
impl Unpin for AltrootFS
impl !UnwindSafe for AltrootFS
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
Mutably borrows from an owned value. Read more