【问题标题】:Win API function for modifying file permissionsWin API函数修改文件权限
【发布时间】:2013-05-20 05:00:00
【问题描述】:

我正在寻找一种在 Windows 7 中使用 C 修改文件权限的方法。 例如:我想为用户 A 添加对 C:\a.txt 的读取权限, 或删除用户 B 的写入权限。

我发现了一些在 linux 中使用的函数(如 chmod),但这些在 windows 中并不好。

我确定必须存在一个 Win API 函数来执行我正在搜索的操作,有人看到我缺少的东西吗?

非常感谢您的帮助, 大卫。

【问题讨论】:

  • 查看authorization functions。如果您使用自己喜欢的搜索引擎,也会有很多(非 SO)点击。

标签: c file winapi windows-7 file-permissions


【解决方案1】:

已经有一段时间了,最​​初的体验并不愉快,但后来我发现 ATL Security:atlsecurity.h 使用这些东西简化了很多工作。 http://msdn.microsoft.com/en-us/library/awt7k7f5(v=vs.80).aspx

【讨论】:

  • 我注意到对于不同类型的结构(SID、ACL、DACL)有很多功能。你能告诉我哪一个 atlsecurity.h 函数最适合我的情况吗?
  • 我认为它们(atlsecurity 类)可以帮助您构建和管理控制列表,但您最终会调用 SetSecurityInfoSetNamedSecurityInfo (msdn.microsoft.com/en-us/library/windows/desktop/…)。
  • CSid::LoadAccount 应该可以帮助您找到用户 A、B
  • 它查找了 CSid::LoadAccount 并且它的头类仅适用于 c++ 是否有 c 的替代品?
  • 哎呀,ATL 是 C++,但你到底为什么只需要 C 呢?如果它真的是必须的,那么你可以用 C++ 编写代码来测试它,然后转换它(ATL 只是一个 C++ 瘦包装器,你可以在标题中看到所有代码),但这将是一个很棒的痛苦,因为您必须自己释放所有资源。
猜你喜欢
  • 2016-05-16
  • 2011-06-12
  • 2012-11-20
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 2020-06-10
  • 2012-03-06
  • 1970-01-01
相关资源
最近更新 更多