从由 CreateProcessWithLogonW 创建的进程中删除PROCESS_TERMINATE访问权限

Remove PROCESS_TERMINATE access right from process, created by CreateProcessWithLogonW

本文关键字:TERMINATE 访问 访问权 权限 PROCESS 删除 创建 CreateProcessWithLogonW 进程 从由      更新时间:2023-10-16

我使用以下代码创建具有其他用户安全权限的进程:

CreateProcessWithLogonW(
    Username,
    Domain ? Domain : L".",
    Password,
    LOGON_WITH_PROFILE,
    ApplicationName,
    CommandLine,
    CREATE_SUSPENDED | CREATE_UNICODE_ENVIRONMENT,
    Environment,
    CurrentDirectory,
    &StartupInfo,
    ProcessInfo);

但是这个进程可以使用终止进程函数来终止调用进程。我已经读到我必须从此过程中删除PROCESS_TERMINATE访问权限,但我无法找到如何执行此操作的信息。

生成的

进程句柄在PROCESS_INFORMATION结构中返回。 将其传递给GetSecurityInfo()以检索进程的 SACL/DACL,构造一个拒绝PROCESS_TERMINATE的新 ,然后调用 SetSecurityInfo() 来应用它。