允许所有人通过 python 进行写访问

Allow everyone write access through python

所以,让我们从基本问题开始;

程序以提升权限的用户身份写入文件。

稍后: 同一个程序试图在没有提升权限的情况下覆盖文件。

在 Windows 中,这与以下冲突:

PermissionError: [Errno 13] Permission denied: 'filepath'

所以我尝试了 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/*”下。

这个问题随着 1903 年时间范围内的 windows 更新之一而消失。一些额外的挖掘似乎表明这是 windows 中的错误,如果该系统是域的一部分并且所有权将落入域用户。