1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use std::os::unix::fs::PermissionsExt; use std::path::Path; use ex::fs; use ex::io; /// Set the file at `path` executable pub fn set_exec<P: AsRef<Path>>(path: P) -> io::Result<()> { let path = path.as_ref(); let mode = fs::metadata(path)?.permissions().mode(); let mode = mode | umask::EXEC; let perm = fs::Permissions::from_mode(mode); fs::set_permissions(path, perm)?; Ok(()) }