rust

rust command 怎样修改权限

小樊
81
2024-12-01 01:38:00
栏目: 编程语言

在 Rust 中,你可以使用标准库中的 std::fsstd::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 上,你需要使用不同的方法来修改文件权限。

0
看了该问题的人还看了