如何使用 set_mode 将权限应用于文件?
How are permissions applied to a file using set_mode?
如果我的理解是正确的,下面的代码应该生成一个可执行文件。然而事实并非如此;它已创建,但未应用指定的权限。我做错了什么?
use std::fs;
use std::os::unix::PermissionsExt;
fn main() {
fs::File::create("somefile").unwrap()
.metadata().unwrap()
.permissions()
.set_mode(0o770);
}
使用OpenOptions
:
use std::fs;
use std::os::unix::OpenOptionsExt;
fn main() {
fs::OpenOptions::new()
.create(true)
.write(true)
.mode(0o770)
.open("somefile")
.unwrap();
}
您也可以将 set_permissions 用于现有路径
use std::fs;
use std::os::unix::fs::PermissionsExt;
fn main(){
fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
}
如果我的理解是正确的,下面的代码应该生成一个可执行文件。然而事实并非如此;它已创建,但未应用指定的权限。我做错了什么?
use std::fs;
use std::os::unix::PermissionsExt;
fn main() {
fs::File::create("somefile").unwrap()
.metadata().unwrap()
.permissions()
.set_mode(0o770);
}
使用OpenOptions
:
use std::fs;
use std::os::unix::OpenOptionsExt;
fn main() {
fs::OpenOptions::new()
.create(true)
.write(true)
.mode(0o770)
.open("somefile")
.unwrap();
}
您也可以将 set_permissions 用于现有路径
use std::fs;
use std::os::unix::fs::PermissionsExt;
fn main(){
fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
}