Метод set_permissions
Метод set_permissions устанавливает права доступа
к открытому файлу. Параметром метод принимает объект
Permissions, который описывает новые права доступа
к файлу. Метод возвращает Result с типом
в случае успеха или ошибку
std::io::Error, если установить права не удалось.
Обычно объект Permissions получают из метода
metadata, а затем изменяют его настройки, например,
через методы set_readonly или
set_mode (последний доступен только в Unix-системах).
Синтаксис
file.set_permissions(perm)
Пример
Давайте откроем файл "test.txt", получим его текущие
права доступа, сделаем файл доступным только для чтения
и установим новые права:
use std::fs::File;
fn main()
{
let file = File::open("test.txt").unwrap();
let mut perm = file.metadata().unwrap().permissions();
perm.set_readonly(true);
file.set_permissions(perm).unwrap();
let res = file.metadata().unwrap().permissions();
println!("{:?}", res);
}
Результат выполнения кода:
Permissions(0o100444)
Пример
Давайте снимем флаг «только для чтения» с файла
"test.txt" и вернём ему возможность записи:
use std::fs::File;
fn main()
{
let file = File::open("test.txt").unwrap();
let mut perm = file.metadata().unwrap().permissions();
perm.set_readonly(false);
file.set_permissions(perm).unwrap();
let res = file.metadata().unwrap().permissions();
println!("{:?}", res);
}
Результат выполнения кода:
Permissions(0o100644)