65.9K
CodeProject 正在变化。 阅读更多。
Home

CNTFS - 一个用于管理 NTFS 权限和审计设置的简单库。

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.48/5 (19投票s)

2003年4月4日

1分钟阅读

viewsIcon

134424

downloadIcon

2296

CNTFS 是一个用于设置 NTFS 权限和审计设置的简单库。

Sample Image - ACLEditor.jpg

引言

CNTFS 库是许多 Microsoft 安全调用(例如:GetNamedSecurityInfo, GetAclInformation, AddAccessAllowedAceEx 等)的简单 C++ 封装。CNTFS 用于在文件和文件夹上设置 NTFS 权限和审计设置。它是使用诸如 xcacls.exe 之类实用程序的编程替代方案。

接口

库中支持以下方法

int DeleteDACL(CString & I_objPath, BOOL I_removeInheritance)

int DeleteSACL(CString & I_objPath, BOOL I_removeInheritance)

int RemoveInheritance(CString & I_objPath)

int TakeOwnership(CString & I_objPath, CString & I_newOwner)

int AddACEToDACL(CString & I_objPath, 
                 CString & I_securityPrincipal, 
                 DWORD I_objPermission)

int AddACEToSACL(CString & I_objPath, 
                 CString & I_securityPrincipal, 
                 DWORD I_objPermission,
                 BOOL I_auditSuccess,
                 BOOL I_auditFailure)

ACLEditor

ACLEditor 是 CNTFS 库的测试应用程序。CNTFS 的一个更棘手方面是访问掩码标志的使用。Winnt.h 定义了可以进行 OR 运算的访问掩码标志。例如,修改权限包括:FILE_GENERIC_READ | FILE_GENERIC_WRITE | FILE_GENERIC_EXECUTE | DELETE。除其他外,ACLEditor 演示了在设置 NTFS 权限中使用访问掩码。

构建

请确保在 c:\program files\Microsoft SDK 中安装 Microsoft Platform SDK。项目设置将引用包含文件的目录。我已经使用 Rational Purify 运行了该库,因此应该消除了所有内存泄漏。

欢迎提出任何意见或建议。

尽情享用!

版本历史

  • 版本 1.1 - (2003 年 10 月 23 日) 添加了对修改注册表键上的 DACL 和 SACL 的支持。通过添加 aclType 枚举,将 RemoveDACLInheritance RemoveSACLInheritance 合并到 RemoveInheritance 方法中。
  • 版本 1.0 - (2003 年 4 月 4 日) 初始发布。
© . All rights reserved.