2010-10-29 3 views
2

Существуют ли методы в Mono C# для взаимодействия с файловыми ACL и расширенными ACL?Mono on Unix - ACL для файловой системы

Я нашел сборку Mono.Posix.dll и класс UnixFileInfo.

Это может дать мне приятные вещи, такие как группа владельцев и пользователей, но не ACL.

Он существует? Или мне придется в основном использовать DllImport для всего?

+0

Файлы заголовков для этого в C находятся в /user/include/sys/acl.h в моей системе. – jonathanpeppers

ответ

3

Насколько я знаю, Mono.Posix не имеет реализации для ACL.

А также пространство имен System.Security.AccessControl не реализовано Mono.

Если вы хотите изменить ACL в Windows, вы можете создать библиотеку (dll), скомпилированную с помощью платформы .NET, используя 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