所以,让我们从基本问题入手;
程序以提升权限的用户身份写入文件。
稍后: 同一程序尝试覆盖没有提升权限的文件。
在Windows中,此冲突与:
PermissionError:[Errno 13]权限被拒绝:'
filepath
'
CHMOD
在以下情况下不起作用
Windows。everybody write
”创建文件
许可,那么这将不是问题。read-only
标志,但不能解决所有权问题。所以我尝试了win32security 但是,对LookupAccountName的调用取决于语言环境:
>>> win32security.LookupAccountName(None, "Everyone")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
pywintypes.error: (1332, 'LookupAccountName', 'Zuordnungen von Kontennamen und Sicherheitskennungen wurden nicht durchgeführt.')
>>> win32security.LookupAccountName(None, "Jeder")
(<PySID object at 0x00000184AA586560>, '', 5)
因此不可移植。我还没有找到手动创建“ Everyone
” SID的方法,在这方面文档很少。但是我可能也追错了兔子洞。
编辑:如果有关系,至少在这种情况下,所有相关文件都在Windows中的“%programdata%/ programname / *”下。
答案 0 :(得分:0)
这个问题在1903年的时间范围内随Windows更新之一消失了。如果系统是域的一部分并且所有权属于域用户,则进一步挖掘似乎表明这是Windows中的错误。