pub struct Permissions(_);
Representation of the various permissions on a file.
This module only currently provides one bit of information, readonly
,
which is exposed on all currently supported platforms. Unix-specific
functionality, such as mode bits, is available through the
os::unix::PermissionsExt
trait.
Returns whether these permissions describe a readonly (unwritable) file.
use std::fs::File;
fn main() -> std::io::Result<()> {
let mut f = File::create("foo.txt")?;
let metadata = f.metadata()?;
assert_eq!(false, metadata.permissions().readonly());
Ok(())
}Run
Modifies the readonly flag for this set of permissions. If the
readonly
argument is true
, using the resulting Permission
will
update file permissions to forbid writing. Conversely, if it's false
,
using the resulting Permission
will update file permissions to allow
writing.
This operation does not modify the filesystem. To modify the
filesystem use the fs::set_permissions
function.
use std::fs::File;
fn main() -> std::io::Result<()> {
let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let mut permissions = metadata.permissions();
permissions.set_readonly(true);
assert_eq!(false, metadata.permissions().readonly());
assert_eq!(true, permissions.readonly());
Ok(())
}Run
Performs copy-assignment from source
. Read more
This method tests for self
and other
values to be equal, and is used by ==
. Read more
This method tests for !=
.
Formats the value using the given formatter. Read more
This is supported on Unix only.
Returns the underlying raw st_mode
bits that contain the standard Unix permissions for this file. Read more
This is supported on Unix only.
Sets the underlying raw bits for this set of permissions. Read more
This is supported on Unix only.
Creates a new instance of Permissions
from the given set of Unix permission bits. Read more