Стандартная библиотека предоставляет способ изменения прав доступа к файлам, поэтому мне интересно, не хватает ли я чего-то.Есть ли способ изменить метаданные файлов (например, владельца) на платформах Unix с Rust?
4
A
ответ
4
Некоторые ОС конкретных Funtionality можно найти в std::os
модуле, например std::os::unix::fs::MetadataExt
позволяет читать uid
/guid
или std::os::unix::fs::PermissionsExt
обрабатывает режимы файла. Однако AFAIK не поддерживает std
для смены владельца/группы.
Как PeterHall прокомментировал, есть chmod
(и chown
) функции в ящике libc
.
Для получения дополнительных примеров и вдохновения я предлагаю вам ознакомиться с проектом coreutils, который реализует многие общие утилиты GNU CLI, среди которых вы можете найти элементы управления метаданными.
Я не думаю, что у 'std' Руста есть способ изменить владельца файла. Но ящик 'libc' (https://crates.io/crates/libc) имеет функцию' chmod'. –
Я подозреваю, что он не включен в 'std', потому что он должен быть зависимым от платформы. –