Win API函数修改文件权限
Posted
技术标签:
【中文标题】Win API函数修改文件权限【英文标题】:Win API function for modifying file permissions 【发布时间】:2013-05-20 05:00:00 【问题描述】:我正在寻找一种在 Windows 7 中使用 C 修改文件权限的方法。 例如:我想为用户 A 添加对 C:\a.txt 的读取权限, 或删除用户 B 的写入权限。
我发现了一些在 linux 中使用的函数(如 chmod),但这些在 windows 中并不好。
我确定必须存在一个 Win API 函数来执行我正在搜索的操作,有人看到我缺少的东西吗?
非常感谢您的帮助, 大卫。
【问题讨论】:
查看authorization functions。如果您使用自己喜欢的搜索引擎,也会有很多(非 SO)点击。 【参考方案1】:已经有一段时间了,最初的体验并不愉快,但后来我发现 ATL Security:atlsecurity.h 使用这些东西简化了很多工作。 http://msdn.microsoft.com/en-us/library/awt7k7f5(v=vs.80).aspx
【讨论】:
我注意到对于不同类型的结构(SID、ACL、DACL)有很多功能。你能告诉我哪一个 atlsecurity.h 函数最适合我的情况吗? 我认为它们(atlsecurity 类)可以帮助您构建和管理控制列表,但您最终会调用SetSecurityInfo
或 SetNamedSecurityInfo
(msdn.microsoft.com/en-us/library/windows/desktop/…)。
CSid::LoadAccount
应该可以帮助您找到用户 A、B
它查找了 CSid::LoadAccount 并且它的头类仅适用于 c++ 是否有 c 的替代品?
哎呀,ATL 是 C++,但你到底为什么只需要 C 呢?如果它真的是必须的,那么你可以用 C++ 编写代码来测试它,然后转换它(ATL 只是一个 C++ 瘦包装器,你可以在标题中看到所有代码),但这将是一个很棒的痛苦,因为您必须自己释放所有资源。以上是关于Win API函数修改文件权限的主要内容,如果未能解决你的问题,请参考以下文章