use std::path::Path;
#[allow(dead_code)]
pub fn set_file_permissions(path: &Path) -> anyhow::Result<()> {
#[cfg(unix)]
{
use std::os::unix::fs::PermissionsExt;
let mut perms = std::fs::metadata(path)?.permissions();
perms.set_mode(0o600);
std::fs::set_permissions(path, perms)?;
Ok(())
}
#[cfg(windows)]
{
Ok(())
}
#[cfg(not(any(unix, windows)))]
{
Ok(())
}
}
pub fn create_directory_with_700_perms(path: &Path) -> anyhow::Result<()> {
if !path.exists() {
std::fs::create_dir_all(path)?;
#[cfg(unix)]
{
use std::os::unix::fs::PermissionsExt;
let mut perms = std::fs::metadata(path)?.permissions();
perms.set_mode(0o700);
std::fs::set_permissions(path, perms)?;
}
}
Ok(())
}