如何解决以当前LocalSystem用户的默认权限运行进程
有一个 MSI 自定义操作可以启动外部进程。但是,在 Windows 7(也可能是 Vista)上,在 LocalSystem 帐户下运行的自定义操作没有 SE_BACKUP_NAME
权限。我正在启动的外部进程在某个阶段需要此特权。但是,它没有获得特权,因为父级(运行 MSI 自定义操作)没有特权。这是 Vista/7 上的一个已知问题,因为如果自定义操作(例如 MSI)作为本地系统帐户运行,Microsoft 已取消对 msiexec.exe
进程的此权限。 IMO,这个问题不需要关于 MSI 的更多信息。
我尝试了 logonUser
、SetTokeninformation
(添加新权限)、设置和更新链接令牌、DuplicatetokenEx
和最终 CreateProcessAsUser
的组合。但是,无论我如何尝试,创建的进程都不会启用备份权限。
我的简单问题是:
- 如何使用本地系统帐户将拥有的所有默认权限运行外部进程?
为什么 Windows 坚持使用受限令牌?
我知道一旦创建了令牌,就不能再添加任何权限了。 SetTokeninformation
将失败。我想知道如何将特权添加到令牌(尚未使用)!
相关:
- https://social.msdn.microsoft.com/Forums/en-US/4a18edd5-88fb-464a-8b57-5c9ec71170dd/windows-installer-45-and-sebackupprivilege
- https://social.msdn.microsoft.com/Forums/en-US/edbd7f01-aeb2-45ac-9264-9c256ee4b314/how-to-get-sebackupprivilege-in-a-deferred-custom-action-exe
- CreateProcessAsUser with elevated privileges
- How to call LogonUser() to get a non-restricted full token inside a Windows Service with UAC enabled?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。