首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试Mono上的文件权限

测试Mono上的文件权限
EN

Stack Overflow用户
提问于 2012-10-08 05:15:46
回答 3查看 2K关注 0票数 4

我正在与Mono开发跨平台应用程序。我想检查运行应用程序的用户的RW访问权限。在NT上我可以使用.GetAccessControl方法(在Mono抛出PlatformNotSupported异常),但是如何处理*nix和MacOS呢?有没有跨平台的解决方案?

EN

回答 3

Stack Overflow用户

发布于 2012-10-08 05:32:47

Mono.Unix具有特定于UNIX的实现:

代码语言:javascript
复制
var ufi = new UnixFileInfo("/tmp/test.cpp");
ufi.CanAccess(AccessModes.F_OK); // is a file/directory
ufi.CanAccess(AccessModes.R_OK); // accessible for reading
ufi.CanAccess(AccessModes.W_OK); // accessible for writing
ufi.CanAccess(AccessModes.X_OK); // accessible for executing
FileSpecialAttributes sa = ufi.FileSpecialAttributes; //setuid, setgid and sticky bits
FileAccessPermissions fa = ufi.FileAccessPermissions;

FileAccessPermissions定义为:

代码语言:javascript
复制
[Flags ()]
public enum FileAccessPermissions {
    UserReadWriteExecute,
    UserRead,
    UserWrite,
    UserExecute,
    GroupReadWriteExecute,
    GroupRead,
    GroupWrite,
    GroupExecute,
    OtherReadWriteExecute,
    OtherRead,
    OtherWrite,
    OtherExecute,
    DefaultPermissions,
    AllPermissions
}
票数 4
EN

Stack Overflow用户

发布于 2012-10-08 05:18:31

尝试打开RW的文件并查看是否成功如何?

票数 1
EN

Stack Overflow用户

发布于 2012-10-08 05:59:51

File.GetAttributes(path)

http://msdn.microsoft.com/en-us/library/system.io.fileattributes.aspx

虽然信息不像.GetAccessControl那么多,但您可以确定文件是否为ReadOnly

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12772930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档