2010-10-29 93 views
2

Mono C#中是否存在與文件ACL和擴展ACL交互的方法?Unix上的Mono - 文件系統ACL

我發現程序集Mono.Posix.dll和類UnixFileInfo。

這可以給我很好的東西,如所有者組和用戶,但沒有ACL。

它存在嗎?或者我必須基本上使用DllImport的一切?

+0

在C中執行此操作的頭文件位於我係統上的/user/include/sys/acl.h中。 – jonathanpeppers 2010-11-01 16:08:16

回答

3

據我所知,Mono.Posix沒有ACL的實現。

並且命名空間System.Security.AccessControl不是由Mono實現的。

如果您想更改Windows中的ACL,您可以創建一個使用.NET框架編譯的庫(dll),使用System.Security.AccessControl來完成它,然後通過反射從Mono加載它。

以下是有關如何使用System.Security.AccessControl一些資源:

http://blog.crowe.co.nz/blog/archive/2007/08/25/c---An-example-of-setting-NTFS-Directory--File.aspx

使用Microsoft.Win32.Security其他替代:

http://weblogs.asp.net/cumpsd/archive/2004/02/08/69403.aspx

另一種方法是使用DllImport和調用本地方法。

+0

這隻會在Unix上運行,所以看起來像DllImport是唯一的選擇? – jonathanpeppers 2010-11-09 15:15:51