在 Rust 中,你可以使用标准库中的 std::fs
和 std::os
模块来修改文件权限
use std::fs::{File, OpenOptions};
use std::io::Write;
use std::os::unix::fs::PermissionsExt;
fn main() {
let path = "example.txt";
let mut file_options = OpenOptions::new();
file_options.read(true).write(true).create(true);
let mut file = match File::open_with_options(&path, file_options) {
Ok(f) => f,
Err(e) => {
eprintln!("Error opening file: {}", e);
return;
}
};
let mut permissions = file.metadata().unwrap().permissions();
permissions.set_readonly(true); // 设置为只读
file.set_permissions(permissions).unwrap();
println!("File permissions updated to read-only");
}
在这个示例中,我们首先使用 OpenOptions
打开一个文件,并设置相应的读取、写入和创建选项。然后,我们获取文件的元数据以获取当前的权限,并使用 set_readonly
方法将其设置为只读。最后,我们使用 set_permissions
方法将更改后的权限应用到文件上。
请注意,这个示例仅适用于 Unix 系统(如 Linux 和 macOS)。在 Windows 上,你需要使用不同的方法来修改文件权限。