在Windows中查找文件的权限

在Windows中查找文件的权限,第1张

概述在Windows中查找文件权限

我在linux工作。 在具有statfunction的linux中,我们可以提取文件的权限。

同样,我们如何才能在windows中提取文件的权限。

msdn中的_stat函数声明在stat缓冲区中设置了权限位。 但它并没有给出如何提取它们。

http://msdn.microsoft.com/en-us/library/14h5k7ff%28VS.71%29.aspx

另一种获得过程的argc和argv的方法

如何在windows Phone上开发Google地图

C ++如何检查Outlook进程是否已经在运行

为什么queryPerformanceFrequency是由1024除以TSC频率,为什么不只是TSC?

windows Store JavaScript背景audiotassk close()方法?

用C ++获取用户的login会话

AJAX请求在windows上不能并行运行

Eclipse使用错误的Java家庭

将文件types关联到正在运行的应用程序

来自Python的Win32长path

结构统计结构在windows上不包含任何文件权限信息。 windows的安全性更为复杂,你需要GetfileSecurity()来检索文件的DACL。 这很少在windows程序中完成,您通常会让windows评估有效的权限并处理“您无法做到”错误返回。 GetLastError()中的ERROR_ACCESS_DENIED。

windows使用ACL(访问控制列表)来控制对文件(或其他内核对象)的访问。 您可以使用GetfileSecurity获取文件的ACL(您需要DACL,而不是SACL)。 然后你可以通过GetEffectiveRightsFromAcl获得实际的权限(权限)。

这有一个竞争条件,所以它不是一个好主意。 特别是,在检索DACL的时间和尝试对文件执行 *** 作的时间之间,DACL可能已经更改,因此检索到的内容不再正确。

我从你提供的链接中读到,在_stat和朋友中实现的文件权限是UNIX专用的,并且没有用于NTFS,FAT和其他windows文件系统。

我想你会有更多的运气使用经典的FindFirstfile和相关函数读取文件权限。 你将需要处理这里描述的函数返回的句柄。这些是非常难以移植的,但是由于C ++没有文件系统支持,它们是唯一不错的选择。

MSDN没有像它应该那样多的超链接,你需要搜索一下来找到_stat Structure st_mode FIEld Constants 。

在Unix和windows上,只能获得文件的基本权限,而不能访问控制列表。 由于windows使用ACL很多, _stat不会给你很多有用的信息。 您需要使用本地windows API函数来获取ACL。

总结

以上是内存溢出为你收集整理的在Windows中查找文件的权限全部内容,希望文章能够帮你解决在Windows中查找文件的权限所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1241290.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存