2017-02-21 19 views
4

Стандартная библиотека предоставляет способ изменения прав доступа к файлам, поэтому мне интересно, не хватает ли я чего-то.Есть ли способ изменить метаданные файлов (например, владельца) на платформах Unix с Rust?

+0

Я не думаю, что у 'std' Руста есть способ изменить владельца файла. Но ящик 'libc' (https://crates.io/crates/libc) имеет функцию' chmod'. –

+2

Я подозреваю, что он не включен в 'std', потому что он должен быть зависимым от платформы. –

ответ

4

Некоторые ОС конкретных Funtionality можно найти в std::os модуле, например std::os::unix::fs::MetadataExt позволяет читать uid/guid или std::os::unix::fs::PermissionsExt обрабатывает режимы файла. Однако AFAIK не поддерживает std для смены владельца/группы.

Как PeterHall прокомментировал, есть chmodchown) функции в ящике libc.

Для получения дополнительных примеров и вдохновения я предлагаю вам ознакомиться с проектом coreutils, который реализует многие общие утилиты GNU CLI, среди которых вы можете найти элементы управления метаданными.