[英]Getting 'Access is Denied' exception message when running WCF service on Windows Azure
[英]Getting intermittent "Access is Denied" exception when accessing a file after changing the permissions on windows
在 windows 上使用 icacls 更改权限后访问文件时出现间歇性“访问被拒绝”。
详情:请参考以管理员身份运行的脚本。
import os
for x in range(50):
#this exe will check the existence of a file , is not present then copy the file and change the permission to ADMINISTRATOR/SYSTEM:F and BUILTIN/Users:(RX)
file = 'C:\\Program Files\\***\\test.exe'
retval = os.system('"' + file + '" -i')
print("retVal : %d" %retval)
#reset the permission of the same file and the parent folder
os.system("icacls C:\\ProgramData\\***\\ParentFolder /reset /T /Q /C")
os.system("icacls C:\\ProgramData\\***\\file.xml /grant *S-1-5-32-545:(W) /T /Q /C")
我们得到了答案——icacls 是异步运行的,因此当权限被更改时,同时如果我们尝试访问该文件,那么 windows 给出“访问被拒绝”。 因此,我们不再使用 icacls,而是开始使用 windows os API,例如https://learn.microsoft.com/en-us/windows/win32/api/aclapi/nf-aclapi-setnamedsecurityinfoa
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.