在 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 上,你需要使用不同的方法来修改文件权限。