pub trait PermissionsExt {
// Required methods
fn mode(&self) -> u32;
fn set_mode(&mut self, mode: u32);
fn from_mode(mode: u32) -> Self;
}
Available on Unix only.
Expand description
特定于 Unix 的 fs::Permissions
扩展。
Required Methods§
sourcefn mode(&self) -> u32
fn mode(&self) -> u32
返回包含该文件的标准 Unix 权限的底层原始 st_mode
位。
Examples
use std::fs::File;
use std::os::unix::fs::PermissionsExt;
fn main() -> std::io::Result<()> {
let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let permissions = metadata.permissions();
println!("permissions: {:o}", permissions.mode());
Ok(())
}
Runsourcefn set_mode(&mut self, mode: u32)
fn set_mode(&mut self, mode: u32)
设置此权限集的底层原始位。
Examples
use std::fs::File;
use std::os::unix::fs::PermissionsExt;
fn main() -> std::io::Result<()> {
let f = File::create("foo.txt")?;
let metadata = f.metadata()?;
let mut permissions = metadata.permissions();
permissions.set_mode(0o644); // 所有者支持读写,其他人只能读。
assert_eq!(permissions.mode(), 0o644);
Ok(())
}
Run