Rust 如何使用set_模式将权限应用于文件?

Rust 如何使用set_模式将权限应用于文件?,rust,Rust,如果我的理解是正确的,下面的代码应该生成一个可执行文件。但事实并非如此;它已创建,但未应用指定的权限。我做错了什么 use std::fs; use std::os::unix::PermissionsExt; fn main() { fs::File::create("somefile").unwrap() .metadata().unwrap() .permissions() .set_mode(0o770); } 使用: 您还可

如果我的理解是正确的,下面的代码应该生成一个可执行文件。但事实并非如此;它已创建,但未应用指定的权限。我做错了什么

use std::fs;
use std::os::unix::PermissionsExt;


fn main() {
    fs::File::create("somefile").unwrap()
        .metadata().unwrap()
        .permissions()
        .set_mode(0o770);
}
使用:

您还可以将其用于现有路径

use std::fs;
use std::os::unix::fs::PermissionsExt;

fn main(){
     fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
}
File::metadata()
返回一个
metadata
metadata::permissions()
返回一个
Permission
,而
set\u mode
只是在权限副本中设置模式,实际上并没有将其应用于文件。(我似乎找不到任何方法来做到这一点。)
use std::fs;
use std::os::unix::fs::PermissionsExt;

fn main(){
     fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
}