我正在为Windows(XP / 7)平台编写一些C ++代码来检查与文件关联的权限。我想验证我正在阅读的文件不能由具有非提升权限的帐户写入。这就是我目前正在做的事情:
此代码适用于Users组。那些可能对文件具有特定写入权限的其他组如Everyone,Guest或其他特定用户呢?我想找到一个解决方案,我不需要枚举所有可能的SID并检查所有这些SID。是否有我可以使用的SID,例如"除了管理员以外的任何东西"?
此致 蚂蚁
答案 0 :(得分:1)
我采取了稍微不同的方法:
GetExplicitEntriesFromAcl
获取所有ACE的文件及其所有父项GRANT_ACCESS
和SET_ACCESS
ACE GetEffectiveRightsFromAcl
可能是最简单的解决方案。您想要具体考虑您想要对所有者做什么。他可以随时改变权利。