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






4.48/5 (19投票s)
2003年4月4日
1分钟阅读

134424

2296
CNTFS 是一个用于设置 NTFS 权限和审计设置的简单库。
引言
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 日) 初始发布。