Leadaxe 说明 singbox-launcher 以管理员运行时内核日志路径固定,配置里的路径不影响
在 singbox-launcher #137(用户 deamon2k 报告以管理员启动后始终报 “core log C:\ProgramData\sing-box-lxd\logs\classic.log: C:\ProgramData: Все (S-1-1-0) is granted 0xd0040, must not be writable by a non-administrative account”,且在配置里把日志改到其他目录也无效)中,Leadaxe 说明:以管理员运行时内核总是从受保护副本启动并把日志写到 C:\ProgramData\sing-box-lxd\logs\classic.log,因此配置里的路径不影响;该报错的含义是「Все / Everyone」组对 C:\ProgramData 这个系统文件夹本身拥有完全访问权限,Windows 默认并非如此,系统会出于安全原因拒绝这样工作。他请对方贴出 icacls C:\ProgramData 的输出,若其中有 Все:(F) 或 Everyone:(F),可用管理员 PowerShell 执行 icacls C:\ProgramData /remove:g *S-1-1-0 移除。该问题在约一小时后的 v2.3.3 中修复(内核日志只检查 C:\ProgramData\sing-box-lxd 及其 logs 目录,权限检查改为警告并给出 Run anyway)。
作者原文@Leadaxeпонял: когда лаунчер запущен от администратора, ядро всегда стартует из защищённой копии и пишет лог в C:\ProgramData\sing-box-lxd\logs\classic.log, поэтому пути из конфига не влияют. Ошибка значит, что у группы «Все» есть полный доступ к самой папке C:\ProgramData. В Windows по умолчанию такого нет, и винда из соображений безопасности отказывается так работать.
Пришлите, пожалуйста, вывод icacls C:\ProgramData. Если там есть строка Все:(F) или Everyone:(F), уберите её в PowerShell от администратора:
icacls C:\ProgramData /remove:g *S-1-1-0