windows(win10)进程拥有的权限就是启动该进程的用户所拥有的权限吗

windows10
文件属性的安全选项中描述了不同用户和组对该文件拥有的权限,包括允许和拒绝 完全控制、写入、读取、读取并执行等权限。
若进程P的启动者是用户A,进程P对文件c拥有的权限是不是就是用户A对文件c拥有的权限?

是的。如果需要更多权限,确保系统安全的情况下,可以右键菜单中选择“以管理员身份执行”。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: Windows常用快捷键【快查字典版】中的 12. 打开投影/屏幕扩展【Win+ P】 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    按下【Win+ P】可打开投影,再次按下【Win+ P】可切换选择投影的模式
    在这里插入图片描述


  • 以下回答来自chatgpt:

    回答:

    如果进程P是由用户A启动的,那么进程P对文件c拥有的权限不一定是用户A对文件c拥有的权限。实际上,进程P拥有的权限由进程P所属的进程owoer或者组来决定。当进程P启动时,会继承其所属的进程owner或者组的权限。因此,如果用户A所属的组拥有对文件c的读写权限,则进程P也会继承相应的权限。但是,如果进程P所属的进程owner或者组没有相应的权限,则进程P无法对文件c进行相应的操作。如果需要让进程P拥有特定的权限,可以通过修改进程P所属的进程owner或者组来实现。具体的实现方式可以用以下代码:

    //获取进程的ID号
    int processID = ...;
    
    //打开进程
    HANDLE processHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processID);
    if(processHandle == NULL) {
        //打开进程失败,抛出异常
        throw "Failed to open process!";
    }
    
    //获取进程所属的进程owner或者组
    DWORD ownerOrGroupSidLength = SECURITY_MAX_SID_SIZE;
    PSID ownerOrGroupSid = (PSID)GlobalAlloc(GPTR, ownerOrGroupSidLength);
    if(!GetProcessInformation(processHandle, OwnerOrGroupSID,
                               ownerOrGroupSid, &ownerSidOrGroupLength))
    {
        //获取失败,抛出异常
        throw "Failed to get owner or group SID!";
    }
    
    //修改进程所属的进程owner或者组权限
    ...
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^