我的目标是禁止Unix系统上的其他用户读取文件内容.
如何在Linux中设置文件权限,同时仍允许程序为Windows编译?
为Unix机器编译,I can do this:
use std::os::unix::fs::PermissionsExt;
fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
但这不会在Windows上编译.我该如何解决这个问题?
我的目标是禁止Unix系统上的其他用户读取文件内容.
如何在Linux中设置文件权限,同时仍允许程序为Windows编译?
为Unix机器编译,I can do this:
use std::os::unix::fs::PermissionsExt;
fs::set_permissions("/path", fs::Permissions::from_mode(0o655)).unwrap();
但这不会在Windows上编译.我该如何解决这个问题?
处理这一问题的最简单方法可能是使用配置属性.
例如,您可能想要这样的东西:
#[cfg(target_family = "unix")]
fn set_permissions(path: &str) {
use std::os::unix::fs::PermissionsExt;
fs::set_permissions(path, fs::Permissions::from_mode(0o655)).unwrap();
}
#[cfg(not(target_family = "unix"))]
fn set_permissions(path: &str) {}