Тип Permissions
Тип Permissions представляет собой структуру,
которая содержит информацию о правах доступа к
файлу или каталогу. Он не является частью пути
напрямую, но часто используется вместе с методами
metadata и set_permissions для
получения и изменения атрибутов безопасности.
Объект этого типа нельзя создать напрямую, его
возвращают методы файловой системы.
Синтаксис
std::fs::Permissions
Пример
Давайте получим информацию о правах доступа к файлу и проверим, доступен ли он только для чтения:
use std::fs;
fn main()
{
let metadata = fs::metadata("test.txt").unwrap();
let permissions = metadata.permissions();
let res = permissions.readonly();
println!("{}", res);
}
Результат выполнения кода:
false
Пример
Давайте изменим права доступа к файлу, установив флаг «только для чтения»:
use std::fs;
fn main()
{
let mut permissions = fs::metadata("test.txt")
.unwrap()
.permissions();
permissions.set_readonly(true);
fs::set_permissions("test.txt", permissions)
.unwrap();
let res = fs::metadata("test.txt")
.unwrap()
.permissions()
.readonly();
println!("{}", res);
}
Результат выполнения кода:
true
Смотрите также
-
метод
readonly,
который проверяет, доступен ли файл только для чтения -
метод
set_readonly,
который устанавливает флаг «только для чтения» -
метод
metadata,
который возвращает информацию о файле, включая права доступа -
структура
Metadata,
которая содержит метаданные файла, включая права доступа